Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2021-09-04 13:52:37 +0300
committernextcloud-command <nextcloud-command@users.noreply.github.com>2021-09-04 14:23:05 +0300
commit91002458c545cb0778de6ba84ff300d4725a31fc (patch)
tree9afde66f730f182e097b1384e4c8e9add643b398 /apps/files_sharing/js/dist/files_sharing_tab.js.map
parent2812f1d04cdf73f2ff3f714caa709e945ecc2dc2 (diff)
Bump core-js from 3.16.4 to 3.17.2
Bumps [core-js](https://github.com/zloirock/core-js) from 3.16.4 to 3.17.2. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v3.16.4...v3.17.2) --- updated-dependencies: - dependency-name: core-js dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'apps/files_sharing/js/dist/files_sharing_tab.js.map')
-rw-r--r--apps/files_sharing/js/dist/files_sharing_tab.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/files_sharing/js/dist/files_sharing_tab.js.map b/apps/files_sharing/js/dist/files_sharing_tab.js.map
index b601e790c26..ac0cfb865ab 100644
--- a/apps/files_sharing/js/dist/files_sharing_tab.js.map
+++ b/apps/files_sharing/js/dist/files_sharing_tab.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/ical.js/build/ical.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/axios/dist/index.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionLink.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack:///./node_modules/striptags/src/striptags.js","webpack:///./node_modules/linkifyjs/string.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/@nextcloud/capabilities/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@nextcloud/initial-state/dist/index.js","webpack:///./node_modules/@nextcloud/l10n/dist/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?04c4","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?9b49","webpack:///node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/debounce/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionText.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionCheckbox.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionInput.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionTextEditable.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///../lib/index.ts","webpack:///./node_modules/semver/internal/constants.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?1130","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?7ce8","webpack:///./apps/files_sharing/src/components/SharingInput.vue?39dd","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?7bbb","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?77b7","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?fe50","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?b903","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/global.js","webpack:///../node_modules/core-js/internals/fails.js","webpack:///../node_modules/core-js/internals/descriptors.js","webpack:///../node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///../node_modules/core-js/internals/create-property-descriptor.js","webpack:///../node_modules/core-js/internals/classof-raw.js","webpack:///../node_modules/core-js/internals/indexed-object.js","webpack:///../node_modules/core-js/internals/require-object-coercible.js","webpack:///../node_modules/core-js/internals/to-indexed-object.js","webpack:///../node_modules/core-js/internals/is-object.js","webpack:///../node_modules/core-js/internals/to-primitive.js","webpack:///../node_modules/core-js/internals/to-object.js","webpack:///../node_modules/core-js/internals/has.js","webpack:///../node_modules/core-js/internals/document-create-element.js","webpack:///../node_modules/core-js/internals/ie8-dom-define.js","webpack:///../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///../node_modules/core-js/internals/an-object.js","webpack:///../node_modules/core-js/internals/object-define-property.js","webpack:///../node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///../node_modules/core-js/internals/set-global.js","webpack:///../node_modules/core-js/internals/shared-store.js","webpack:///../node_modules/core-js/internals/inspect-source.js","webpack:///../node_modules/core-js/internals/internal-state.js","webpack:///../node_modules/core-js/internals/native-weak-map.js","webpack:///../node_modules/core-js/internals/shared.js","webpack:///../node_modules/core-js/internals/uid.js","webpack:///../node_modules/core-js/internals/shared-key.js","webpack:///../node_modules/core-js/internals/hidden-keys.js","webpack:///../node_modules/core-js/internals/redefine.js","webpack:///../node_modules/core-js/internals/path.js","webpack:///../node_modules/core-js/internals/get-built-in.js","webpack:///../node_modules/core-js/internals/to-integer.js","webpack:///../node_modules/core-js/internals/to-length.js","webpack:///../node_modules/core-js/internals/to-absolute-index.js","webpack:///../node_modules/core-js/internals/array-includes.js","webpack:///../node_modules/core-js/internals/object-keys-internal.js","webpack:///../node_modules/core-js/internals/enum-bug-keys.js","webpack:///../node_modules/core-js/internals/object-get-own-property-names.js","webpack:///../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///../node_modules/core-js/internals/own-keys.js","webpack:///../node_modules/core-js/internals/copy-constructor-properties.js","webpack:///../node_modules/core-js/internals/is-forced.js","webpack:///../node_modules/core-js/internals/export.js","webpack:///../node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///../node_modules/core-js/internals/a-possible-prototype.js","webpack:///../node_modules/core-js/internals/object-create.js","webpack:///../node_modules/core-js/internals/object-set-prototype-of.js","webpack:///../node_modules/core-js/internals/inherit-if-required.js","webpack:///../node_modules/core-js/internals/object-keys.js","webpack:///../node_modules/core-js/internals/object-define-properties.js","webpack:///../node_modules/core-js/internals/html.js","webpack:///../node_modules/core-js/internals/whitespaces.js","webpack:///../node_modules/core-js/internals/string-trim.js","webpack:///../node_modules/core-js/modules/es.number.constructor.js","webpack:///../node_modules/semver/internal/constants.js","webpack:///../node_modules/core-js/internals/engine-v8-version.js","webpack:///../node_modules/core-js/internals/engine-is-node.js","webpack:///../node_modules/core-js/internals/engine-user-agent.js","webpack:///../node_modules/core-js/internals/native-symbol.js","webpack:///../node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../node_modules/core-js/internals/well-known-symbol.js","webpack:///../node_modules/core-js/internals/is-regexp.js","webpack:///../node_modules/core-js/internals/regexp-flags.js","webpack:///../node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///../node_modules/core-js/internals/set-species.js","webpack:///../node_modules/core-js/modules/es.regexp.constructor.js","webpack:///../node_modules/core-js/internals/regexp-exec.js","webpack:///../node_modules/core-js/modules/es.regexp.exec.js","webpack:///../node_modules/core-js/modules/es.regexp.to-string.js","webpack:///../node_modules/core-js/internals/is-array.js","webpack:///../node_modules/core-js/internals/create-property.js","webpack:///../node_modules/core-js/internals/array-species-create.js","webpack:///../node_modules/core-js/internals/array-method-has-species-support.js","webpack:///../node_modules/core-js/modules/es.array.concat.js","webpack:///../node_modules/semver/internal/debug.js","webpack:///../node_modules/semver/internal/re.js","webpack:///../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///../node_modules/core-js/internals/string-multibyte.js","webpack:///../node_modules/core-js/internals/advance-string-index.js","webpack:///../node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///../node_modules/core-js/modules/es.string.match.js","webpack:///../node_modules/core-js/internals/string-trim-forced.js","webpack:///../node_modules/core-js/modules/es.string.trim.js","webpack:///../node_modules/core-js/internals/a-function.js","webpack:///../node_modules/core-js/internals/function-bind-context.js","webpack:///../node_modules/core-js/internals/array-iteration.js","webpack:///../node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/species-constructor.js","webpack:///../node_modules/core-js/modules/es.string.split.js","webpack:///../node_modules/core-js/internals/array-method-is-strict.js","webpack:///../node_modules/core-js/modules/es.array.join.js","webpack:///../node_modules/core-js/modules/es.array.filter.js","webpack:///../node_modules/semver/internal/parse-options.js","webpack:///../node_modules/semver/internal/identifiers.js","webpack:///../node_modules/semver/classes/semver.js","webpack:///../node_modules/semver/functions/parse.js","webpack:///../node_modules/semver/functions/valid.js","webpack:///../node_modules/semver/functions/major.js","webpack:///../node_modules/core-js/internals/add-to-unscopables.js","webpack:///../node_modules/core-js/internals/iterators-core.js","webpack:///../node_modules/core-js/internals/iterators.js","webpack:///../node_modules/core-js/internals/correct-prototype-getter.js","webpack:///../node_modules/core-js/internals/object-get-prototype-of.js","webpack:///../node_modules/core-js/internals/set-to-string-tag.js","webpack:///../node_modules/core-js/internals/create-iterator-constructor.js","webpack:///../node_modules/core-js/internals/define-iterator.js","webpack:///../node_modules/core-js/modules/es.array.iterator.js","webpack:///../node_modules/core-js/internals/freezing.js","webpack:///../node_modules/core-js/internals/internal-metadata.js","webpack:///../node_modules/core-js/internals/is-array-iterator-method.js","webpack:///../node_modules/core-js/internals/to-string-tag-support.js","webpack:///../node_modules/core-js/internals/classof.js","webpack:///../node_modules/core-js/internals/get-iterator-method.js","webpack:///../node_modules/core-js/internals/iterator-close.js","webpack:///../node_modules/core-js/internals/iterate.js","webpack:///../node_modules/core-js/internals/an-instance.js","webpack:///../node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///../node_modules/core-js/internals/redefine-all.js","webpack:///../node_modules/core-js/internals/collection-strong.js","webpack:///../node_modules/core-js/internals/collection.js","webpack:///../node_modules/core-js/modules/es.map.js","webpack:///../node_modules/core-js/internals/object-to-string.js","webpack:///../node_modules/core-js/modules/es.object.to-string.js","webpack:///../node_modules/core-js/modules/es.string.iterator.js","webpack:///../node_modules/core-js/internals/dom-iterables.js","webpack:///../node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///../node_modules/core-js/internals/array-for-each.js","webpack:///../node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/modules/es.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es.string.code-point-at.js","webpack:///./node_modules/semver/internal/re.js","webpack:///./node_modules/semver/internal/debug.js","webpack:///./node_modules/semver/classes/semver.js","webpack:///./node_modules/semver/internal/parse-options.js","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?d360","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?2bca","webpack:///node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/nextcloud-vue-collections/dist/nextcloud-vue-collections.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/paths/dist/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionRadio.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-gettext/lib/gettext.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/node-gettext/lib/plurals.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/linkifyjs/lib/linkify-string.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///../lib/ProxyBus.ts","webpack:///./node_modules/semver/functions/valid.js","webpack:///./node_modules/semver/functions/parse.js","webpack:///./node_modules/semver/internal/identifiers.js","webpack:///./node_modules/semver/functions/major.js","webpack:///../lib/SimpleBus.ts","webpack:///./node_modules/url-search-params-polyfill/index.js","webpack:///./node_modules/@nextcloud/logger/dist/index.js","webpack:///./node_modules/@nextcloud/logger/dist/ConsoleLogger.js","webpack:///./node_modules/@nextcloud/logger/dist/contracts.js","webpack:///./node_modules/@nextcloud/logger/dist/LoggerBuilder.js","webpack:///./apps/files_sharing/src/services/ConfigService.js","webpack:///./apps/files_sharing/src/models/Share.js","webpack:///./apps/files_sharing/src/mixins/ShareTypes.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?5c05","webpack:///apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b9e5","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b770","webpack:///apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?5d83","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?02ab","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?d8cf","webpack:///./apps/files_sharing/src/utils/GeneratePassword.js","webpack:///./apps/files_sharing/src/mixins/ShareRequests.js","webpack:///apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?c43f","webpack:///./apps/files_sharing/src/components/SharingInput.vue?fdeb","webpack:///./apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?aa34","webpack:///./node_modules/p-timeout/index.js","webpack:///./node_modules/p-queue/dist/priority-queue.js","webpack:///./node_modules/p-queue/dist/lower-bound.js","webpack:///./node_modules/p-queue/dist/index.js","webpack:///./apps/files_sharing/src/mixins/SharesMixin.js","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?ad66","webpack:///apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?9c75","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?f2f0","webpack:///apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?b3b1","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?fbba","webpack:///./apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?dc74","webpack:///apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?3d3a","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?c051","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?8435","webpack:///apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?6b98","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?f11f","webpack:///apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?80b0","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4515","webpack:///apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?2354","webpack:///./apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4c8b","webpack:///./apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?910b","webpack:///apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?4620","webpack:///./apps/files_sharing/src/utils/SharedWithMe.js","webpack:///./apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?9823","webpack:///./apps/files_sharing/src/services/ShareSearch.js","webpack:///./apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///./apps/files_sharing/src/services/TabSections.js","webpack:///./apps/files_sharing/src/files_sharing_tab.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/abstractParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/modificationNotAllowedError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/lockable.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/expectedICalJSError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/stringHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/config.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/icalFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/observer.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parameters/parameter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/abstractValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/binaryValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/durationValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/dateTimeValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/periodValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/recurValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/utcOffsetValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/unknownICALTypeError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/property.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attachmentProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attendeeProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/conferenceProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/freeBusyProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/geoProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/imageProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/relationProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/requestStatusProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/textProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/triggerProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/abstractComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/dateFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/recurringWithoutDtStartError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/recurrence/recurrenceManager.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/timezoneComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezone.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/alarmComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/abstractRecurringComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/birthdayHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/eventComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/freeBusyComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/journalComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/toDoComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/calendarComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/abstractRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingUIDRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateDoubleColonRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarEmptyTriggerRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarIllegalCreatedRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarMultipleVCalendarBlocksRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarRemoveXNCGroupIdRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/icalendarParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/parserManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneAdapter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/index.js","webpack:///./node_modules/date-format-parse/es/util.js","webpack:///./node_modules/date-format-parse/es/locale/en.js","webpack:///./node_modules/date-format-parse/es/format.js","webpack:///./node_modules/date-format-parse/es/parse.js","webpack:///./node_modules/vue2-datepicker/index.esm.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","OPTIONS","zones","TimezoneService","ICAL","foldLength","newLineChar","helpers","updateTimezones","vcal","allsubs","properties","vtimezones","reqTzid","tzid","getAllSubcomponents","length","getFirstProperty","getFirstValue","concat","getAllProperties","getParameter","removeSubcomponent","has","addSubcomponent","component","isStrictlyNaN","number","isNaN","strictParseInt","string","result","parseInt","Error","formatClassType","data","type","unescapedIndexOf","buffer","search","pos","indexOf","binsearchInsert","list","seekVal","cmpfunc","mid","cmpval","low","high","Math","floor","dumpn","debug","console","input","log","dump","arguments","clone","aSrc","aDeep","Date","getTime","Array","isArray","arr","push","obj","foldline","aLine","line","substr","pad2","String","trunc","ceil","inherits","base","child","extra","F","extend","source","target","descr","getOwnPropertyDescriptor","design","FROM_VCARD_NEWLINE","TO_VCARD_NEWLINE","createTextType","fromNewline","toNewline","matches","fromICAL","aValue","structuredEscape","newline","RegExp","replace","replaceNewlineReplace","replaceNewline","toICAL","regEx","str","DEFAULT_TYPE_TEXT","defaultType","DEFAULT_TYPE_TEXT_MULTI","multiValue","DEFAULT_TYPE_TEXT_STRUCTURED","structuredValue","DEFAULT_TYPE_INTEGER","DEFAULT_TYPE_DATETIME_DATE","allowedTypes","DEFAULT_TYPE_DATETIME","DEFAULT_TYPE_URI","DEFAULT_TYPE_UTCOFFSET","DEFAULT_TYPE_RECUR","DEFAULT_TYPE_DATE_ANDOR_TIME","commonProperties","commonValues","values","float","parsed","parseFloat","integer","decorate","UtcOffset","fromString","undecorate","toString","icalValues","text","uri","aString","Binary","aBinary","aProp","strict","Time","fromDateString","len","date","fromDateTimeString","duration","Duration","period","parts","split","isValueString","join","Period","fromJSON","toJSON","recur","Recur","_stringToData","k","val","numericDayToIcalDay","toUpperCase","fromData","aRecur","time","icalProperties","detectType","vcardValues","VCardTime","fromDateAndOrTimeString","splitzone","_splitZone","zone","isFromIcal","lastChar","signChar","sign","timestamp","vcardProperties","vcard3Values","binary","vcard","vcard3Properties","fn","nickname","photo","bday","adr","label","tel","email","mailer","tz","geo","title","role","logo","agent","org","note","prodid","rev","sound","class","icalSet","param","allowXName","allowIanaToken","valueType","multiValueSeparateDQuote","vcardSet","vcard3Set","defaultSet","components","vcard3","vevent","vtodo","vjournal","valarm","vtimezone","daylight","standard","icalendar","getDesignSet","componentName","stringify","jCal","designSet","props","propIdx","propLen","designSetName","comps","compIdx","compLen","noFold","paramName","jsName","params","map","_rfc6868Unescape","propertyValue","propDetails","isDefault","slice","delim","innerMulti","x","RFC6868_REPLACE_MAP","parse","CHAR","ParserError","message","this","e","stack","shift","parser","state","root","_eachLine","err","_handleContentLine","lastParamIndex","lastValuePos","parsedParams","valuePos","paramPos","substring","toLowerCase","_parseParameters","newComponent","pop","propertyDetails","_parseMultiValue","_parseValue","start","lcname","mvdelim","lastParam","_rfc6868Escape","extendedValue","nextPos","propValuePos","delimiter","lastPos","callback","firstChar","newlineOffset","trim","Component","parent","_hydratedPropertyCount","_hydratedComponentCount","_designSet","_hydrateComponent","index","_components","comp","_hydrateProperty","_properties","prop","Property","getFirstSubcomponent","jCalLen","hasProperty","getFirstPropertyValue","_removeObjectByIndex","jCalIndex","cache","splice","_removeObject","nameOrObject","objects","cached","_removeAllObjects","idx","nameOrComp","removed","removeAllSubcomponents","addProperty","TypeError","removeProperty","addPropertyWithValue","setValue","updatePropertyWithValue","nameOrProp","removeAllProperties","_parent","getDefaultType","_updateType","designSetChanged","isDecorated","isMultiValue","isStructuredValue","_hydrateValue","_values","_decorate","_undecorate","_setDecoratedValue","getFirstParameter","parameters","setParameter","removeParameter","details","resetType","removeAllValues","getValues","setValues","icaltype","toICALString","aData","hours","minutes","factor","fromSeconds","toSeconds","_normalize","aSeconds","secs","abs","compare","other","a","b","options","instance","decodeValue","_b64_decode","setEncodedValue","_b64_encode","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","charCodeAt","charAt","o1","o2","o3","fromCharCode","wrappedJSObject","end","icalclass","getDuration","subtractDate","getEnd","addDuration","aLenient","fromDateOrDateTimeString","DURATION_LETTERS","parseDurationChunk","letter","isNegative","num","weeks","days","seconds","propsToCopy","reset","aOther","thisSeconds","otherSeconds","normalize","aStr","dict","chunks","numeric","Timezone","location","tznames","latitude","longitude","expandedUntilYear","changes","utcOffset","tt","utcTimezone","localTimezone","_ensureCoverage","year","tt_change","month","day","hour","minute","second","change_num","_findNearbyChange","change_num_to_use","step","change","prevUtcOffset","adjust_change","_compare_change_fn","zone_change","tmp_change","prev_zone_change","is_daylight","aYear","_minimumExpansionYear","today","now","changesEndYear","EXTRA_COVERAGE","MAX_YEAR","subcomps","_expandComponent","sort","aComponent","dtstart","convert_tzoffset","offset","init_changes","changebase","rdatekey","isDate","rrule","until","adjust","occ","iterator","next","convert_time","from_zone","to_zone","keys","utc","Z","UTC","GMT","register","timezone","remove","_time","_dowCache","_wnCache","_cachedUnixTime","_pendingNormalization","epochTime","resetTo","fromJSDate","aDate","useUTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","aZone","dayOfWeek","aWeekStart","firstDow","SUNDAY","dowCacheKey","q","Y","h","dayOfYear","is_leap","isLeapYear","daysInYearPassedMonth","startOfWeek","endOfWeek","startOfMonth","endOfMonth","daysInMonth","startOfYear","endOfYear","startDoyWeek","aFirstDayOfWeek","delta","getDominicalLetter","nthWeekDay","aDayOfWeek","aPos","weekday","otherDay","isNthWeekDay","dow","weekNumber","week1","wnCacheKey","dt","isoyear","weekOneStarts","daysBetween","answer","aDuration","mult","unixTime","toUnixTime","subtractDateTz","compareDateOnlyTz","cmp","attr","_cmp_attr","convertToZone","rc","copy","zone_equals","toJSDate","aExtraDays","aExtraHours","aExtraMinutes","aExtraSeconds","aTime","minutesOverflow","hoursOverflow","daysOverflow","yearsOverflow","fromUnixTime","epoch","ms","defineAttr","set","fromDayOfYear","aDayOfYear","doy","auto_normalize","fromStringv2","aProperty","wkst","DEFAULT_WEEK_START","THURSDAY","yr","dom","MONDAY","TUESDAY","WEDNESDAY","FRIDAY","SATURDAY","apply","p2","y","mm","hasMonth","hasDay","hasHour","hasMinute","hasSecond","datepart","timepart","aIcalType","part","v","tmz","tm","dtlen","tmlen","hasDashDate","hasDashTime","DOW_MAP","SU","MO","TU","WE","TH","FR","SA","REVERSE_DOW_MAP","parseNumericValue","min","max","undefined","interval","count","freq","aStart","RecurIterator","rule","isFinite","isByCount","addComponent","aType","ucname","setComponent","aValues","getComponent","getNextOccurrence","aStartTime","aRecurrenceId","iter","uckey","partDesign","optionDesign","INTERVAL","icalDayToNumericDay","res","kparts","VALID_DAY_NAMES","VALID_BYDAY_PART","ALLOWED_FREQ","FREQ","fmtIcal","COUNT","UNTIL","WKST","test","BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS","partArr","partArrIdx","partArrLen","icalrecur_iterator","completed","last","occurrence_number","by_indices","initialized","by_data","days_index","init","sort_byday_rules","setup_defaults","bydayParts","ruleDayOfWeek","wkdy","dayName","expand_year_days","increment_year","_nextByYearDay","has_by_data","tempLast","initLast","dayOfMonth","increment_month","_byDayAndMonthDay","valid","before","next_second","next_minute","next_hour","next_day","next_week","next_month","next_year","check_contracting_rules","next_generic","increment_second","inc","increment_generic","increment_minute","increment_hour","this_freq","increment_monthday","end_of_data","next_weekday_by_week","week_no","normalizeByMonthDayRules","rules","newRules","ruleIdx","isInit","byMonthDay","dateLen","byDay","dateIdx","dayLen","dataIsValid","self","lastDay","initMonth","nextMonth","monthsCounter","dayIdx","data_valid","setpos","setpos_total","last_day","is_day_in_byday","check_set_position","coded_day","match","aRuleType","aInterval","aDateAttr","aFollowingAttr","aPreviousIncr","has_by_rule","dta","years","aFactor","aNextIncrement","nextunit","validWeeks","monthIdx","first_week","last_week","weekIdx","weekno","partCount","t1","monthkey","t2","monthdaykey","t3","day_","month_","expand_by_day","first_dow","doy_offset","last_dow","by_month_day","spIndex","daycodedkey","month_day","first_matching_day","last_matching_day","expandedDays","daykey","days_list","tmp","start_dow","end_dow","end_year_day","first","this_dow","aRules","j","check_contract_restriction","indexMapValue","_indexMap","ruleMapValue","_expandMap","pass","CONTRACT","ruleType","bydatakey","weekNo","req","deftime","UNKNOWN","EXPAND","ILLEGAL","RecurExpansion","formatTime","item","compareTime","ruleDates","exDates","complete","ruleIterators","ruleDateInc","exDateInc","exDate","ruleDate","_init","currentTry","_nextRecurrenceIter","_nextRuleDay","_nextExDay","_extractDates","propertyName","handleProp","forEach","iters","iterTime","chosenIter","iterIdx","Event","_rangeExceptionCache","exceptions","rangeExceptions","strictExceptions","relateException","isRecurrenceException","event","compareRangeException","THISANDFUTURE","uid","id","recurrenceId","modifiesFuture","findRangeException","rangeItem","getOccurrenceDetails","occurrence","utcId","startDate","endDate","rangeExceptionId","exception","startDiff","original","newStart","startTime","isRecurring","getRecurrenceTypes","_firstProp","_setProp","_setTime","propName","ComponentParser","parseEvent","parseTimezone","oncomplete","onerror","ontimezone","onevent","process","ical","it","check","globalThis","window","global","Function","exec","error","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","emptyObject","freeze","isUndef","isDef","isTrue","isPrimitive","isObject","_toString","isPlainObject","isRegExp","isValidArrayIndex","isPromise","then","catch","JSON","toNumber","makeMap","expectsLowerCase","isReservedAttribute","hasOwn","camelizeRE","camelize","_","capitalize","hyphenateRE","hyphenate","ctx","boundFn","_length","toArray","ret","to","_from","toObject","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","def","writable","configurable","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","add","clear","warn","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","VNode","tag","children","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","method","args","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","setter","childOb","dependArray","newVal","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","hook","key$1","methods","inject","computed","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","resolve","setTimeout","MutationObserver","setImmediate","counter","observer","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","isTextNode","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","done","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","renderContext","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","clearTimeout","ensureCtor","reject","reason","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","style","registerDeepBindings","_createElement","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","Vue","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","pattern","pruneCache","keepAliveInstance","filter","entry","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","Number","cacheVNode","vnodeToCache","keyToCache","created","destroyed","mounted","updated","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","normalizeEvents","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","_reflow","body","offsetHeight","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","querySelector","query","isUndefined","getPrototypeOf","isFunction","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","isString","isNumber","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","thisArg","stripBOM","content","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","assign","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","getRootUrl","generateFilePath","imagePath","generateUrl","generateOcsUrl","generateRemoteUrl","linkTo","app","file","service","protocol","host","linkToRemoteBase","url","ocsVersion","_generateUrlPath","allOptions","escape","vars","encodeURIComponent","noRewrite","OC","modRewriteWorking","isCore","coreApps","link","appswebroots","encodeURI","webroot","fails","g","toInteger","argument","requireObjectCoercible","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","O","P","Attributes","isSymbol","memo","isOldIE","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssNode","applyToTag","btoa","unescape","singleton","singletonCounter","styleIndex","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","_slicedToArray","_arrayWithHoles","_arr","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","_item","cssMapping","base64","sourceMapping","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","definePropertyModule","createPropertyDescriptor","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","_requesttoken","_user","getCurrentUser","IndexedObject","aFunction","variable","matchHtmlRegExp","html","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","bitmap","fixRegExpWellKnownSymbolLogic","toLength","advanceStringIndex","getSubstitution","regExpExec","REPLACE","wellKnownSymbol","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","nativeReplace","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","rx","S","functionalReplace","fullUnicode","unicode","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","groups","replacerArgs","re","freeGlobal","freeSelf","$","proto","classof","propertyIsEnumerable","getBuiltIn","$Symbol","Deno","versions","v8","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","browser","argv","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","ownKeys$2","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread$2","_defineProperty","getOwnPropertyDescriptors","DEFAULT_OPTIONS","container","placement","template","openTooltips","Tooltip","_reference","_options","_this","_classCallCheck","evt","reference","relatedreference","toElement","relatedTarget","_tooltipNode","contains","evt2","relatedreference2","_scheduleHide","jquery","hide","_isOpen","_createClass","_show","_hide","_dispose","_classes","_setContent","classesUpdated","defaultClass","isEqual","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","_this2","tooltipGenerator","tooltipNode","ariaId","random","autoHide","_this3","asyncContent","_applyContent","_this4","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this5","enableEventListeners","_create","_findContainer","_append","popperOptions","arrow","element","arrowSelector","boundariesElement","preventOverflow","Popper","_this6","_noLongerOpen","disableEventListeners","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_ref","func","removeOnDestroy","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","enabled","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","_typeof","getPlacement","getContent","createTooltip","tooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","_ref2","_objectSpread","getDefault","MSStream","openPopovers","Element","script","ResizeObserver","open","disabled","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","scheduleUpdate","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","beforeDestroy","skipDelay","_ref2$force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","hidden","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","tabindex","visibility","keyup","keyCode","_withStripped","__vue_component__","installed","finalOptions","insertAt","getElementsByTagName","styleInject","VTooltip","VClosePopover","VPopover","GlobalVue","toPrimitive","IS_PURE","copyright","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","sticky","flags","charsAdded","strCopy","multiline","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","contentWindow","Properties","that","return","u","A","nc","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Close","Custom","Flags","Next","Objects","Previous","Search","Settings","Symbols","Submit","Global","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","ngettext","gettext","needQuotes","names","mappings","sourcesContent","locals","isMobile","handleWindowResize","documentElement","clientWidth","onIsMobileChanged","hasStatus","userStatus","status","icon","fetchUserStatus","regeneratorRuntime","mark","wrap","prev","abrupt","getCapabilities","user_status","userId","sent","ocs","t0","response","stop","C","required","primary","avatarUrl","getAvatarUrl","mentionText","size","contenteditable","backgroundImage","userData","renderContent","flat","startsWith","defaultProtocol","rel","genSelectTemplate","parseContent","renderComponentHtml","excludeClickOutsideClasses","clickOutsideMiddleware","hasNodeOrAnyParentClass","parentElement","isFullscreen","_isFullscreen","_onResize","outerHeight","screen","height","href","validator","round","iconIsUrl","URL","action","PopoverMenuItem","download","click","longtext","submit","preventDefault","checked","for","stopPropagation","menu","getBuilder","persist","getItem","setItem","ClickOutside","DotsHorizontal","Popover","PopoverMenu","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","ariaLabel","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","backgroundColor","initials","fromCodePoint","codePointAt","hyperlink","loadAvatarUrl","subscribe","handleUserStatusUpdated","beforeDestroyed","unsubscribe","handlePopoverAfterShow","popoverMenu","focus","handlePopoverAfterHide","main","toggleMenu","fetchContactsMenu","closeMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","oc_userconfig","avatar","Image","onload","srcset","w","B","N","z","E","keydown","alt","decorative","0","1","2","27","beforeUpdate","getText","isLongText","3","32","closeAfterClick","isIconUrl","6","62","63","69","isFocusable","focusable","78","internalObjectKeys","baseIsNative","arraySpeciesConstructor","originalArray","propertyKey","V8_VERSION","SPECIES","METHOD_NAME","foo","$propertyIsEnumerable","NASHORN_BUG","V","postfix","EXISTS","functionToString","feature","detection","POLYFILL","NATIVE","regexpExec","RegExpPrototype","KEY","FORCED","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","$exec","createMethod","CONVERT_TO_STRING","$this","codeAt","R","TO_STRING_TAG_SUPPORT","addToUnscopables","Iterators","defineIterator","setInternalState","iterated","kind","Arguments","TO_STRING_TAG","TAG","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","find","findIndex","filterReject","GettextBuilder","_nodeGettext","Constructor","_defineProperties","protoProps","staticProps","language","setLanguage","getLanguage","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","placeholders","subtitudePlaceholders","singular","plural","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","105","84","85","VNodes","forceMenu","menuTitle","defaultIcon","opened","focusIndex","randomId","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","$props","exact","firstActionEvent","firstActionEventBinding","firstActionIconSlot","firstActionClass","iconSlotIsPopulated","initActions","openMenu","menuButton","onOpen","focusFirstAction","onMouseFocusAction","closest","querySelectorAll","focusAction","removeCurrentActive","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","execFirstAction","onFocus","onBlur","auto","blur","ctrlKey","shiftKey","metaKey","mousemove","toAbsoluteIndex","IS_INCLUDES","fromIndex","ignoreCase","dotAll","$RegExp","getRawTag","objectToString","symToStringTag","point","DOMIterables","ArrayIteratorMethods","ITERATOR","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","$toString","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","utils","encode","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","fullPath","baseURL","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","msMaxTouchPoints","middleware","isActive","detectIframe","srcTarget","composedPath","nonNative","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","allowable_tags","tag_replacement","striptags_internal","init_context","tag_set","parse_allowable_tags","tag_buffer","depth","in_quote_char","output","char","normalize_tag","init_streaming_mode","define","crypt","utf8","bin","md5","encoding","stringToBytes","Uint8Array","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToString","bytesToHex","_initialState","loadState","appId","_storagebuilder","clearAll","sessionStorage","localStorage","clearStorage","clearNonPersistent","_scopedstorage","GLOBAL_SCOPE_PERSISTENT","_interopRequireDefault","storage","pred","removeItem","fallback","elem","getLocale","getCanonicalLocale","translate","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","ordinaryToPrimitive","TO_PRIMITIVE","pref","exoticToPrim","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","objectKeys","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","eq","nativeCreate","getNative","isKeyable","__data__","isLength","FunctionPrototype","FunctionPrototypeToString","nameRE","$forEach","STRICT_METHOD","arrayMethodIsStrict","$assign","chr","T","argumentsLength","extended","fillColor","debounce","wait","later","debounced","callNow","flush","135","209","128","129","17","205","checkInput","onChange","checkbox","D","highlight","ranges","reduce","Highlight","needsTruncate","part1","part2","highlight1","highlight2","EllipsisedOption","ListItemIcon","VueMultiselect","limit","trackBy","userSelect","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","Avatar","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","isValidSubtitle","isSizeBigEnough","cssVars","getLoggerBuilder","detectUser","setApp","getTimezoneManager","Multiselect","additionalTimezones","selectedTimezone","timezoneId","continent","regions","cities","ics","registerTimezoneFromICS","aliases","registerAlias","aliasTo","listAllTimezones","DatePicker","TimezonePicker","clearable","minuteStep","format","datetime","week","formatter","showTimezoneSelect","highlightTimezone","appendToBody","showWeekNumber","showTimezonePopover","tzVal","handleSelectYear","datepicker","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","toggleTimezonePopover","mousedown","ArrowRight","DatetimePicker","isMultiselectType","isDatePickerType","onLeave","datetimepicker","closePopup","onInput","onSubmit","mouseleave","136","137","210","72","valueOf","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","attachEvent","task","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Map","baseGetTag","stubFalse","freeExports","freeModule","Buffer","webpackPolyfill","deprecate","paths","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","objectProto","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","$trim","forcedStringTrimMethod","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","HIDDEN","ObjectPrototype","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","$defineProperties","$getOwnPropertySymbols","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","space","$replacer","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","HAS_SPECIES_SUPPORT","nativeSlice","fin","checkCorrectnessOfIteration","iterable","getIteratorMethod","usingIterator","iteratorMethod","EOF","USE_NATIVE_URL","anInstance","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getState","getInternalURLState","pow","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","serializeHost","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","observers","_eventBus","tokenElement","commonjsGlobal","createCommonjsModule","global$1","descriptors","getOwnPropertyDescriptor$2","objectPropertyIsEnumerable","indexedObject","PREFERRED_STRING","has$1","document$1","ie8DomDefine","objectGetOwnPropertyDescriptor","objectDefineProperty","sharedStore","WeakMap$1","nativeWeakMap","keys$2","hiddenKeys$1","internalState","aFunction$1","min$2","min$1","createMethod$3","objectKeysInternal","objectGetOwnPropertyNames","objectGetOwnPropertySymbols","isForced_1","getOwnPropertyDescriptor$1","_export","MAX_SAFE_INTEGER","objectSetPrototypeOf","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","objectDefineProperties","IE_PROTO$1","objectCreate","whitespaces","whitespace","ltrim","rtrim","createMethod$2","stringTrim","getOwnPropertyNames$1","defineProperty$3","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","digits","NaN","NumberWrapper","keys$1","constants","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","engineIsNode","engineUserAgent","process$1","engineV8Version","nativeSymbol","useSymbolAsUid","Symbol$1","MATCH$1","isRegexp","RE","regexpStickyHelpers","SPECIES$4","setSpecies","CONSTRUCTOR_NAME","defineProperty$2","MATCH","NativeRegExp","RegExpPrototype$1","CORRECT_NEW","UNSUPPORTED_Y$2","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","UNSUPPORTED_Y$1","SPECIES$3","SPECIES$2","debug_1","NODE_DEBUG","_console","_len","_key","re_1","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","SPECIES$1","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","fixRegexpWellKnownSymbolLogic","stringMethod","regexMethod","createMethod$1","stringMultibyte","charAt$1","regexpExecAbstract","nativeMatch","matcher","matchStr","stringTrimForced","functionBindContext","IS_FILTER_OUT","arrayIteration","filterOut","$map","HAS_SPECIES_SUPPORT$1","arrayPush","SPLIT","nativeSplit","internalSplit","separator","lim","lastLength","lastLastIndex","separatorCopy","splitter","defaultConstructor","speciesConstructor","unicodeMatching","nativeJoin","ES3_STRINGS","STRICT_METHOD$1","$filter","parseOptions_1","loose","compareIdentifiers$1","anum","bnum","MAX_LENGTH$1","re$1","t$1","compareIdentifiers","semver","SemVer","includePrerelease","LOOSE","FULL","major","minor","prerelease","compareMain","comparePre","release","parse_1","er","valid_1","major_1","packageJson$1","ProxyBus","bus","getVersion","UNSCOPABLES","ArrayPrototype$1","IteratorPrototype$2","PrototypeOfArrayIteratorPrototype","arrayIterator","iterators","correctPrototypeGetter","objectGetPrototypeOf","ITERATOR$5","BUGGY_SAFARI_ITERATORS$1","iteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","defineProperty$1","TO_STRING_TAG$3","IteratorPrototype$1","returnThis$1","ITERATOR$4","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","setInternalState$2","getInternalState$1","es_array_iterator","freezing","preventExtensions","internalMetadata","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","ITERATOR$3","ArrayPrototype","toStringTagSupport","TO_STRING_TAG$1","ITERATOR$2","iteratorClose","returnMethod","Result","stopped","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","ITERATOR$1","SAFE_CLOSING","iteratorWithReturn","redefineAll","setInternalState$1","internalStateGetterFor","wrapper","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","SKIP_CLOSING","ITERATION_SUPPORT","BUGGY_ZERO","$instance","setStrong","collection","previous","getEntry","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","COLLECTION_NAME$1","Collection$1","CollectionPrototype$1","arrayForEach","packageJson","SimpleBus","_nc_event_bus","isAdmin","uidElement","displayNameElement","isUserAdmin","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","promises","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","fileName","lineNumber","columnNumber","expires","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","requestURL","executor","resolvePromise","payload","AMPERSAND","CLOSEPAREN","CLOSEANGLEBRACKET","CLOSEBRACKET","CLOSEBRACE","OPENPAREN","OPENANGLEBRACKET","OPENBRACKET","OPENBRACE","WS","TLD","SYM","UNDERSCORE","SLASH","MAILTO","PROTOCOL","POUND","PLUS","NUM","NL","LOCALHOST","PUNCTUATION","DOT","COLON","AT","DOMAIN","Base","_createTokenClass","_class","TextToken","createTokenClass","inheritsToken","__g","G","U","core","W","__e","$isLabel","$groupLabel","preferredOpenDirection","optimizedHeight","maxHeight","internalSearch","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","updateSearch","isOptionDisabled","$isDisabled","selectGroup","pointerDirty","deactivate","removeElement","wholeGroupSelected","wholeGroupDisabled","removeLastElement","adjustPosition","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","showNoOptions","showNoResults","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","Dispatch","L","PromiseRejectionEvent","ok","fail","exit","onunhandledrejection","_a","onrejectionhandled","_w","M","race","finally","BREAK","RETURN","WebKitMutationObserver","standalone","esModule","keypress","autocomplete","mouseenter","isBrowser","timeoutDuration","longerTimeoutBrowsers","scheduled","functionToCheck","getStyleComputedProperty","defaultView","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","modifier","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","sizes","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","willChange","getWindow","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","shiftOffsets","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Utils","PopperUtils","statusColor","xmlns","viewBox","fill","stroke","21","23","7","___CSS_LOADER_EXPORT___","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","funcToString","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","SetCache","arraySome","cacheHas","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","baseTimes","isArguments","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseIsArguments","isObjectLike","reIsUint","baseAssignValue","getPrototype","overArg","arrayLikeKeys","baseKeysIn","isArrayLike","IteratorsCore","NEW_ITERATOR_PROTOTYPE","CORRECT_PROTOTYPE_GETTER","callWithSafeIterationClosing","isArrayIteratorMethod","getIterator","arrayLike","mapfn","mapping","innerResult","innerError","nativeKeys","FAILS_ON_PRIMITIVES","_build","require$$0","require$$1","require$$2","require$$3","IS_NODE","getFlags","callRegExpExec","parseOptions","FREEZING","InternalMetadataModule","stateify","TokenState","CharacterState","BaseState","tClass","defaultTransition","jump","accepts","character","charOrRegExp","tokenClass","endToken","defaultToken","newStates","nextState","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","accidentalStrictMode","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","isUnhandled","unwrap","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","defer","IS_IOS","runner","listener","PromiseCapability","$$resolve","$$reject","notARegExp","correctIsRegExpLogic","$startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","charenc","bytes","USES_TO_LENGTH","nativeStartsWith","ScopedStorage","wrapped","persistent","GLOBAL_SCOPE_VOLATILE","scopeKey","$includes","IS_NCG","BASE_FORCED","rawFlags","handled","rawPattern","named","brackets","ncg","groupid","groupname","SyntaxError","handleNCG","handleDotAll","flattenIntoArray","depthArg","sourceLen","$fromCodePoint","elements","RangeError","require","Clipboard","VueClipboardConfig","autoSetContainer","VueClipboard","$clipboardConfig","$copyText","fakeElement","clipboard","_vClipboard_success","_vClipboard_error","_vClipboard","I","K","X","H","J","Q","et","nt","ot","rt","at","ct","lt","st","ut","ft","pt","vt","mt","yt","bt","xt","Ct","wt","Ot","St","Rt","Et","jt","kt","Tt","It","Ut","At","Nt","$t","Mt","Dt","Ft","Lt","Bt","zt","Vt","Gt","Kt","Wt","Xt","Yt","qt","Ht","Jt","Qt","Zt","te","ee","ne","oe","ae","ie","ce","le","se","ue","fe","pe","de","ve","me","he","ge","ACCESSORS","ye","be","xe","Ce","we","Oe","Se","Re","Ee","je","ke","Te","Ie","Pe","Ue","Ae","Ne","$e","Me","De","Fe","Le","Be","ze","Ve","Ge","Ke","We","Xe","Ye","qe","He","Qe","Ze","tn","en","rn","an","cn","ln","sn","un","pn","dn","vn","mn","hn","baseUrl","put","collectionName","resourceType","resourceId","gn","collections","Cn","fetchCollectionsByResource","getCollectionsByResource","yn","createCollection","baseResourceType","baseResourceId","bn","addResourceToCollection","collectionId","renameCollection","addResource","removeResource","resources","xn","wn","ActionButton","detailsOpen","newName","getIcon","typeClass","limitedResources","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","On","En","Sn","Rn","jn","ids","kn","shouldshake","rename","autocapitalize","Tn","leading","maxWait","trailing","searchCollections","In","showSelect","CollectionListItem","selectIsOpen","generatingCodes","codes","OCP","Collaboration","getTypes","getLabel","setError","hideSelect","isVueComponent","baseIsEqual","initCompat","ua","rv","edge","getInternetExplorerVersion","emitOnMount","ignoreWidth","ignoreHeight","emitSize","_resizeObject","addResizeHandlers","removeResizeHandlers","compareAndNotify","baseMerge","createAssigner","srcIndex","102","110","14","16","18","22","39","40","49","5","94","95","joinPaths","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","acc","section","encodePath","basename","dirname","isSamePath","path1","path2","pathSections1","pathSections2","Events","EE","emitter","_eventsCount","clearEvent","EventEmitter","eventNames","listenerCount","a1","a2","a3","a4","a5","prefixed","132","133","207","toggleInput","radio","134","resolveOptions","initSelection","selectedText","selectFake","selectTarget","fakeElem","border","pageYOffset","createFakeElement","fakeHandlerCallback","removeFake","fakeHandler","copyText","execCommand","handleResult","clearSelection","getSelection","removeAllRanges","_action","construct","Proxy","ReferenceError","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clipboardAction","828","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","438","879","nodeList","370","817","setSelectionRange","selectNodeContents","addRange","279","TinyEmitter","baseIsEqualDeep","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","setCacheAdd","setCacheHas","predicate","mapToArray","setToArray","symbolProto","symbolValueOf","byteLength","byteOffset","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","baseGetAllKeys","getSymbols","keysFunc","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","resIndex","baseKeys","iteratee","typedArrayTags","freeProcess","types","isPrototype","DataView","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","assignMergeValue","baseFor","baseMergeDeep","keysIn","safeGet","srcValue","newValue","createBaseFor","fromRight","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","allocUnsafe","isDeep","cloneArrayBuffer","typedArray","arrayBuffer","baseCreate","objectCtorString","copyObject","isNew","nativeKeysIn","isProto","baseRest","isIterateeCall","assigner","guard","overRest","setToString","nativeMax","otherArgs","baseSetToString","shortOut","constant","nativeNow","lastCalled","stamp","windowNames","getWindowNames","plurals","Gettext","catalogs","eventName","eventData","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","comments","textdomain","setlocale","addTextdomain","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","baseGet","isKey","stringToPath","toKey","isHostObject","memoize","baseToString","quote","resolver","memoized","Cache","defaultValue","ach","examples","sample","nplurals","pluralsText","af","ak","am","ar","arn","ast","ay","az","bg","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","doi","dz","eo","es","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","ko","ku","kw","ky","lb","lo","lv","mai","mfe","mg","mi","mk","ml","mni","mnk","mr","my","nah","nap","nb","nl","nn","nso","oc","or","pa","pap","pl","pms","ps","ro","ru","rw","sah","sat","sco","sd","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","tg","th","ti","tk","tr","ug","uk","ur","uz","vi","wa","wo","yo","zh","ENTRIES","deleteCount","insertCount","actualDeleteCount","actualStart","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","numPoints","firstTime","baseMinusTMin","inputLength","ucs2decode","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","labels","nativeFetch","NativeRequest","RequestPrototype","Headers","getInternalParamsState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","attribute","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","wrapRequestOptions","fetch","RequestConstructor","Request","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","linkify","_interopRequireWildcard","tokenize","Options","escapeText","escapeAttr","attributesToString","linkifyStr","tokens","nl2br","isLink","_opts$resolve","formatted","formattedHref","scanner","filtered","formatHref","validate","ignoreTags","linkAttributes","linkClass","ignoredTags","toHref","getObject","operator","optionValue","TOKENS","State","_state","_text","tlds","NUMBERS","ALPHANUM","WHITESPACE","domainStates","makeState","S_START","S_NUM","S_DOMAIN","S_DOMAIN_HYPHEN","S_WS","partialProtocolFileStates","partialProtocolFtpStates","partialProtocolHttpStates","partialProtocolMailtoStates","S_PROTOCOL_FILE","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_MAILTO","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","lowerStr","cursor","tokenLength","latestAccepting","sinceAccepts","TOKEN","_multi","MULTI_TOKENS","S_PROTOCOL","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN_DOT","S_TLD","S_TLD_COLON","S_TLD_PORT","S_URL","S_URL_NON_ACCEPTING","S_URL_OPENBRACE","S_URL_OPENBRACKET","S_URL_OPENANGLEBRACKET","S_URL_OPENPAREN","S_URL_OPENBRACE_Q","S_URL_OPENBRACKET_Q","S_URL_OPENANGLEBRACKET_Q","S_URL_OPENPAREN_Q","S_URL_OPENBRACE_SYMS","S_URL_OPENBRACKET_SYMS","S_URL_OPENANGLEBRACKET_SYMS","S_URL_OPENPAREN_SYMS","S_EMAIL_DOMAIN","S_EMAIL_DOMAIN_DOT","S_EMAIL","EMAIL","S_EMAIL_COLON","S_EMAIL_PORT","S_MAILTO_EMAIL","MAILTOEMAIL","S_MAILTO_EMAIL_NON_ACCEPTING","S_LOCALPART","S_LOCALPART_AT","S_LOCALPART_DOT","S_NL","qsAccepting","qsNonAccepting","localpartAccepting","multis","textTokens","secondState","multiLength","TEXT","MULTI","isDomainToken","MultiToken","hasProtocol","hasSlashSlash","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","Pebble","promiseCapability","error1","error2","base64map","rotl","rotr","randomBytes","words","hex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","readFloatLE","isSlowBuffer","_isBuffer","StorageBuilder","_persist","persisted","clearedOnLogout","mapper","targetIndex","sourceIndex","mapFn","$reduce","CHROME_VERSION","IS_RIGHT","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","rcompareIdentifiers","ampersandTest","nativeURLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","encodesAmpersandsCorrectly","URLSearchParamsPolyfill","propValue","appendTo","USPProto","polyfill","parseToDict","makeIterator","decode","getLogger","_ConsoleLogger","_LoggerBuilder","LoggerBuilder","buildConsoleLogger","ConsoleLogger","_contracts","level","msg","formatMessage","LogLevel","Debug","Info","Warn","Fatal","Config","getElementById","dataset","allowPublicUpload","appConfig","federatedCloudShareDoc","expireDateString","isDefaultExpireDateEnabled","moment","expireAfterDays","defaultExpireDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","defaultExpireDateEnforced","defaultExpireDateEnabled","defaultInternalExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultInternalExpireDateEnabled","remoteShareAllowed","capabilities","files_sharing","sharebymail","public","resharingAllowed","enforced","sharee","always_show_unique","allowGroupSharing","password_policy","Share","ocsData","hide_download","mail_send","_share","share_type","permissions","uid_owner","displayname_owner","share_with","share_with_displayname","share_with_displayname_unique","share_with_link","share_with_avatar","uid_file_owner","displayname_file_owner","stime","expiration","send_password_by_talk","sendPasswordByTalk","item_type","file_source","file_target","file_parent","PERMISSION_READ","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_UPDATE","PERMISSION_SHARE","can_edit","can_delete","via_fileid","via_path","storage_id","item_source","SHARE_TYPES","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_DECK","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","internalLinkSubtitle","internalLink","copied","copySuccess","copyLink","clipboardTooltip","passwordSet","passwordPolicy","api","generate","curr","shareUrl","createShare","shareType","shareWith","publicUpload","expireDate","errorMessage","Notification","showTemporary","deleteShare","updateShare","canReshare","inputPlaceholder","asyncFind","addShare","noResultText","TimeoutError","pTimeout","milliseconds","timer","cancelablePromise","POSITIVE_INFINITY","customTimers","timeoutError","PriorityQueue","_queue","comparator","lowerBound","empty","PQueue","carryoverConcurrencyCount","intervalCap","concurrency","autoStart","queueClass","_carryoverConcurrencyCount","_isIntervalIgnored","_intervalCap","_interval","_queueClass","_timeout","_throwOnTimeout","throwOnTimeout","_isPaused","_intervalCount","_pendingCount","_concurrency","_tryToStartAnother","_resolveEmpty","_resolveIdle","_onInterval","_initializeIntervalIfNeeded","_timeoutId","_intervalId","_intervalEnd","_onResumeInterval","_resolvePromises","canInitializeInterval","_isIntervalPaused","_doesIntervalAllowAnother","_doesConcurrentAllowAnother","job","dequeue","_processQueue","newConcurrency","operation","_next","enqueue","functions","function_","existingResolve","SharesRequests","ShareTypes","fileInfo","share","isUnique","errors","saving","updateQueue","reactiveState","hasNote","dateTomorrow","lang","months","isShareOwner","checkShare","expirationDate","isValid","onExpirationChange","queueUpdate","onExpirationDisable","onNoteChange","onNoteSubmit","newNote","onDelete","propertyNames","onSyncError","propertyEl","debounceQueueUpdate","disabledDate","dateMoment","isBefore","dateMaxEnforced","isSameOrAfter","shareWithDisplayName","initiator","ownerDisplayName","viaPath","viaFileid","viaFileTargetUrl","folder","viaFolderName","mainTitle","subTitle","showInheritedSharesIcon","toggleInheritedShares","toggleTooltip","isEmailShareType","shareLink","pendingPassword","pendingExpirationDate","onMenuClose","canEdit","newLabel","onLabelChange","onLabelSubmit","isFolder","fileHasCreatePermission","isPublicUploadEnabled","sharePermissions","publicUploadRValue","togglePermissions","publicUploadRWValue","publicUploadWValue","canUpdate","hideDownload","isPasswordProtected","onPasswordDisable","hasUnsavedPassword","newPassword","onPasswordChange","onPasswordSubmit","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","onPasswordProtectedByTalkChange","hasExpirationDate","isDefaultExpireDateEnforced","onNewLinkShare","isPasswordPolicyEnabled","minLength","$$v","onCancel","hasLinkShares","shares","awaitForShare","removeShare","shareWithAvatar","shareWithLink","shareWithDisplayNameUnique","permissionsEdit","canSetEdit","canCreate","permissionsCreate","canSetCreate","canDelete","permissionsDelete","canSetDelete","permissionsShare","canSetReshare","isDefaultInternalExpireDateEnforced","circle","conversation","sharedWithMe","linkShares","reshare","ShareSearch","ExternalLinkActions","TabSections","_sections","OCA","Sharing","ShareTabSections","View","SharingTab","TabInstance","Files","Sidebar","registerTab","Tab","mount","AbstractParser","_name","_color","_sourceURL","_refreshInterval","_calendarTimezone","_errors","getItemIterator","ModificationNotAllowedError","lockableTrait","baseClass","_mutable","_modify","ExpectedICalJSError","lc","uc","ucFirst","startStringWith","startWith","GLOBAL_CONFIG","setConfig","getConfig","observerTrait","_subscribers","_modifyContent","parameter","_notifySubscribers","icalValue","_innerValue","decodedValue","fromRawValue","rawValue","icalBinary","fromICALJs","totalSeconds","otherDuration","toICALJs","icalDuration","toICALTimezone","clonedICALTime","jsDate","_start","_end","_duration","lock","isLocked","unlock","icalPeriod","_until","weekStart","icalRecur","icalUTCOffset","UnknownICALTypeError","_parameters","_root","_setParametersFromConstructor","hasValue","parameterName","hasParameter","getParametersIterator","isDecoratedValue","getValueIterator","_cloneValue","icalProperty","getConstructorForICALType","firstValue","getParameterFirstValue","fmtType","updateParameterIfExist","fromDecodedValue","formatType","binaryValue","allowed","userType","rsvp","commonName","vobjectType","VEVENT","VJOURNAL","VTODO","participationStatus","isOrganizer","conference","featureToAdd","hasFeature","deleteParameter","features","lat","long","relationType","relatedId","relType","relId","statusCode","statusMessage","exceptionData","SUCCESS","SUCCESS_FALLBACK","SUCCESS_PROP_IGNORED","SUCCESS_PROPPARAM_IGNORED","SUCCESS_NONSTANDARD_PROP_IGNORED","SUCCESS_NONSTANDARD_PROPPARAM_IGNORED","SUCCESS_COMP_IGNORED","SUCCESS_FORWARDED","SUCCESS_REPEATING_IGNORED","SUCCESS_TRUNCATED_END","SUCCESS_REPEATING_VTODO_IGNORED","SUCCESS_UNBOUND_RRULE_CLIPPED","CLIENT_INVALID_PROPNAME","CLIENT_INVALID_PROPVALUE","CLIENT_INVALID_PROPPARAM","CLIENT_INVALID_PROPPARAMVALUE","CLIENT_INVALUD_CALENDAR_COMP_SEQ","CLIENT_INVALID_DATE_TIME","CLIENT_INVALID_RRULE","CLIENT_INVALID_CU","CLIENT_NO_AUTHORITY","CLIENT_UNSUPPORTED_VERSION","CLIENT_TOO_LARGE","CLIENT_REQUIRED_COMP_OR_PROP_MISSING","CLIENT_UNKNOWN_COMP_OR_PROP","CLIENT_UNSUPPORTED_COMP_OR_PROP","CLIENT_UNSUPPORTED_CAPABILITY","SCHEDULING_EVENT_CONFLICT","SERVER_REQUEST_NOT_SUPPORTED","SERVER_SERVICE_UNAVAILABLE","SERVER_INVALID_CALENDAR_SERVICE","SERVER_NO_SCHEDULING_FOR_USER","altRep","related","getInUTC","alarmTime","alarmOffset","relatedToStart","getConstructorForPropertyName","_setPropertiesFromConstructor","_setComponentsFromConstructor","getPropertyIterator","getComponentIterator","newProperty","_getAllOfPropertyByLang","hasComponent","icalProp","icalComp","_getConstructorForComponentName","advertiseSingleOccurrenceProperty","advertiseValueOnly","iCalendarName","pluralName","allowedValues","unknownValue","getDefaultOncePropConfig","getFirstPropertyFirstValue","deleteAllProperties","advertiseMultipleOccurrenceProperty","getDefaultMultiplePropConfig","deleteProperty","advertiseMultiValueStringPropertySeparatedByLang","_getFirstOfPropertyByLang","addValue","languageParameter","removeValue","dateFactory","RecurringWithoutDtStartError","masterItem","_masterItem","_recurrenceExceptionItems","_rangeRecurrenceExceptionItemsIndex","_rangeRecurrenceExceptionItemsDiffCache","_rangeRecurrenceExceptionItems","getRecurrenceExceptionIterator","recurrenceException","getRangeRecurrenceExceptionForId","originalRecurrenceId","difference","subtractDateWithTimezone","recurrenceExceptionItem","_getRecurrenceIdKey","recurrenceManager","removeRecurrenceExceptionByRecurrenceId","getRecurrenceRuleIterator","recurrenceRule","resetCache","_getPropertiesForRecurrenceDate","getRecurrenceDateIterator","_getValueTypeByValue","markPropertyAsDirty","_getPropertyNameByIsNegative","valueToCheck","allValues","getRecurrenceRuleList","_getRecurExpansionObject","getReferenceRecurrenceId","icalRecurrenceId","_getOccurrenceAtRecurrenceId","dateTimeValue","queriedTimeRangeStart","queriedTimeRangeEnd","isInTimeFrame","queriedICALJsTimeRangeStart","queriedICALJsTimeRangeEnd","recurrenceIdKeys","maximumRecurrenceId","compareDate","getAllOccurrencesBetweenIterator","newUID","newStartDate","oldStartDate","exdate","hasRecurrenceDate","removeRecurrenceException","relateRecurrenceException","hasRecurrenceExceptionForId","getRecurrenceException","canCreateRecurrenceExceptions","forkItem","hasRangeRecurrenceExceptionForId","rangeRecurrenceException","getRangeRecurrenceExceptionDiff","ruleValue","rDateValue","exDateValue","getRandomValues","rnds8","rng","crypto","msCrypto","uuid","byteToHex","buf","rnds","_timezoneId","_ics","_initialized","_initialize","local","floating","attendeeProperty","fromNameAndEMail","triggerProperty","fromAbsolute","fromRelativeAndRelated","_primaryItem","_isExactForkOfPrimary","_originalRecurrenceId","_recurrenceManager","_dirty","_significantChange","_cachedId","primaryItem","isExactForkOfPrimary","updateUID","isMasterItem","updateStartDateOfMasterItem","originalTimezone","getICALTimezone","getInICALTimezone","dtStartValue","recurrenceDate","getRecurrenceDate","dtEnd","due","resetDirty","primaryIsRecurring","thisAndAllFuture","previousPrimaryItem","_overridePrimaryItem","removeThisOccurrence","addRelation","fromEmpty","attendee","getAttendeeIterator","recurDate","valueDateTimeRecurDate","removeRecurrenceDate","addRecurrenceDate","isPartOfRecurrenceSet","getInTimezone","recurValue","exceptionDate","getRecurrenceExceptionList","deleteComponent","isEmptyRecurrenceSet","_addAttendee","fromNameEMailRoleUserTypeAndRSVP","fromLink","contact","comment","fromRelTypeAndId","fromCodeAndMessage","alarmComp","markDirty","markChangesAsSignificant","isDirty","markSubComponentAsDirty","deleteAllComponents","compName","getConstructorForComponentName","getTypeOfBirthdayEvent","eventComponent","getDefaultMultipleCompConfig","dtend","fromPosition","fromURILabelAndFeatures","allDay","defaultTimezone","defaultAllDayDuration","defaultTimedDuration","currentAllDay","isAllDay","canModifyAllDay","replaceTimezone","getIconForBirthday","yearOfOccurrence","yearOfBirth","getAgeOfBirthday","toICS","propertiesToCheck","propertyToCheck","dueTime","getEventIterator","getJournalIterator","getTodoIterator","cleanUpTimezones","vObject","getVObjectIterator","undirtify","icalRoot","additionalProps","AbstractRepairStep","vobjectName","vObjectBlock","containsProdId","containsVersion","containsCalscale","includedTimezones","tzidMatcher","timezoneManager","_aliases","_timezones","_getTimezoneForIdRec","resolvedTimezoneId","includeAliases","timezones","registerTimezone","aliasName","isOlsonTimezone","tzName","hasSlash","hasSpace","startsWithETC","startsWithUS","clearAllTimezones","_rawData","_calendarComponent","_containsVEvents","_containsVJournals","_containsVTodos","_containsVFreeBusy","_items","_masterItems","_forgedMasterItems","_requiredTimezones","_defaultTimezoneManager","_applyRepairSteps","_extractTimezones","_registerTimezones","_createCalendarComponent","_getOption","_extractProperties","_processVObjects","_processVFreeBusy","itemList","calendarComp","_addRequiredTimezonesToCalendarComp","RepairStep","getRepairSteps","repair","_extractPropertyAndPutResultIntoVariable","variableName","hasTimezoneForId","_addItem","_markCompTypeAsSeen","_addRecurrenceException","_addRequiredTimezone","alarm","getAlarmIterator","recurrenceExceptionList","master","forgedMaster","stampTime","getFreebusyIterator","requiredTimezone","getTimezoneForId","_replaceTimezoneWithAnotherOne","timezoneComponent","toTimezoneComponent","calendarComponent","searchTimezone","silentlyReplaceTimezone","ParserManager","_parsers","allFileTypes","getMimeTypes","fileType","Parser","getParserManager","parserManager","registerParser","TimezoneAdapter","_timezoneManager","parseICSAndGetAllOccurrencesBetween","icsParser","getParserForFileType","firstVObject","calendar","createFreeBusyRequest","organizer","attendees","fromMethod","freeBusyComponent","clonedAttendee","toDate","isValidDate","firstDayOfWeek","getDay","diff","setDate","setHours","startOfWeekYear","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","firstDateOfFirstWeek","getWeek","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","monthsShort","weekdays","weekdaysShort","weekdaysMin","REGEX_FORMAT","pad","formatTimezone","delimeter","absOffset","meridiem","isLowercase","word","toLocaleLowerCase","formatFlags","YY","YYYY","MM","MMM","MMMM","DD","hh","ss","getMilliseconds","SS","SSS","ddd","dddd","getTimezoneOffset","ZZ","ww","formatStr","p1","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","formattingTokens","match1","match2","match1to2","matchSigned","parseFlags","addParseFlag","regex","escapeStringRegExp","matchWordRegExp","localeKey","matchWordCallback","to24hour","isPM","getFullInputArray","backupDate","backupArr","useBackup","createUTCDate","setUTCFullYear","makeParser","dateString","parseTo","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_extends$1","cent","meridiemParse","defaultIsPM","_ref9","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","createDate","isValidRangeDate","getValidDate","backup","startOfDay","assignTime","chunk","pick","formatLocale","yearFormat","monthFormat","monthBeforeYear","defaultLocale","locales","isLocal","getPropertyValue","scroll","scrollBarWidth","prefixClass","visible","displayPopup","_clickoutEvent","handleClickOutside","isRunning","relativeElement","_displayPopup","_scrollParent","popup","_popupRect","originalVisibility","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","pageXOffset","getRelativePosition","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getNextCalendar","diffMonth","_index$split$map2","col","fmt","__vue_component__$5","calendarYear","handleClick","diffYear","__vue_component__$6","firstYear","lastYear","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultPanel","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","isDisabled","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","dirtyDate","dirtyMonth","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","getStateClass","getMonthClasses","getYearClasses","getWeekState","CalendarRange","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","_range$map","_range$map2","calendarRange","__vue_component__$7","scrollbarWidth","handleScroll","thumbHeight","thumbTop","handleDragstart","outer","getScrollbarWidth","handleDragend","getThumbSize","heightPercentage","scrollHeight","_draggable","offsetTop","thumb","_prevY","clientY","handleDraging","padNumber","generateOptions","scrollTo","tick","__vue_component__$8","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","setMinutes","setSeconds","colIndex","cellIndex","parseOption","__vue_component__$9","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$a","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","emits","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","rangeSeparator","editable","inputClass","inputAttr","popupClass","popupStyle","inline","confirm","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","mergeDeep","handleClickOutSide","getFormatter","parseDate","_options$locale","_locale","_options$backupDate","parseResult","millisecond","inputArray","firstDate","utcDate","offsetMilliseconds","parsedDate","date2value","emitValue","afterEmitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","slotFn","renderInput","readonly","renderSidebar","renderHeader","renderFooter","sidedar","TimePanel"],"mappings":"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","file":"files_sharing_tab.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 499);\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/* istanbul ignore next */\n/* jshint ignore:start */\nif (typeof module === 'object') {\n // CommonJS, where exports may be different each time.\n ICAL = module.exports;\n} else if (typeof ICAL !== 'object') {/* istanbul ignore next */\n /** @ignore */\n this.ICAL = {};\n}\n/* jshint ignore:end */\n\n\n/**\n * The number of characters before iCalendar line folding should occur\n * @type {Number}\n * @default 75\n */\nICAL.foldLength = 75;\n\n\n/**\n * The character(s) to be used for a newline. The default value is provided by\n * rfc5545.\n * @type {String}\n * @default \"\\r\\n\"\n */\nICAL.newLineChar = '\\r\\n';\n\n\n/**\n * Helper functions used in various places within ical.js\n * @namespace\n */\nICAL.helpers = {\n /**\n * Compiles a list of all referenced TZIDs in all subcomponents and\n * removes any extra VTIMEZONE subcomponents. In addition, if any TZIDs\n * are referenced by a component, but a VTIMEZONE does not exist,\n * an attempt will be made to generate a VTIMEZONE using ICAL.TimezoneService.\n *\n * @param {ICAL.Component} vcal The top-level VCALENDAR component.\n * @return {ICAL.Component} The ICAL.Component that was passed in.\n */\n updateTimezones: function(vcal) {\n var allsubs, properties, vtimezones, reqTzid, i, tzid;\n\n if (!vcal || vcal.name !== \"vcalendar\") {\n //not a top-level vcalendar component\n return vcal;\n }\n\n //Store vtimezone subcomponents in an object reference by tzid.\n //Store properties from everything else in another array\n allsubs = vcal.getAllSubcomponents();\n properties = [];\n vtimezones = {};\n for (i = 0; i < allsubs.length; i++) {\n if (allsubs[i].name === \"vtimezone\") {\n tzid = allsubs[i].getFirstProperty(\"tzid\").getFirstValue();\n vtimezones[tzid] = allsubs[i];\n } else {\n properties = properties.concat(allsubs[i].getAllProperties());\n }\n }\n\n //create an object with one entry for each required tz\n reqTzid = {};\n for (i = 0; i < properties.length; i++) {\n if ((tzid = properties[i].getParameter(\"tzid\"))) {\n reqTzid[tzid] = true;\n }\n }\n\n //delete any vtimezones that are not on the reqTzid list.\n for (i in vtimezones) {\n if (vtimezones.hasOwnProperty(i) && !reqTzid[i]) {\n vcal.removeSubcomponent(vtimezones[i]);\n }\n }\n\n //create any missing, but registered timezones\n for (i in reqTzid) {\n if (\n reqTzid.hasOwnProperty(i) &&\n !vtimezones[i] &&\n ICAL.TimezoneService.has(i)\n ) {\n vcal.addSubcomponent(ICAL.TimezoneService.get(i).component);\n }\n }\n\n return vcal;\n },\n\n /**\n * Checks if the given type is of the number type and also NaN.\n *\n * @param {Number} number The number to check\n * @return {Boolean} True, if the number is strictly NaN\n */\n isStrictlyNaN: function(number) {\n return typeof(number) === 'number' && isNaN(number);\n },\n\n /**\n * Parses a string value that is expected to be an integer, when the valid is\n * not an integer throws a decoration error.\n *\n * @param {String} string Raw string input\n * @return {Number} Parsed integer\n */\n strictParseInt: function(string) {\n var result = parseInt(string, 10);\n\n if (ICAL.helpers.isStrictlyNaN(result)) {\n throw new Error(\n 'Could not extract integer from \"' + string + '\"'\n );\n }\n\n return result;\n },\n\n /**\n * Creates or returns a class instance of a given type with the initialization\n * data if the data is not already an instance of the given type.\n *\n * @example\n * var time = new ICAL.Time(...);\n * var result = ICAL.helpers.formatClassType(time, ICAL.Time);\n *\n * (result instanceof ICAL.Time)\n * // => true\n *\n * result = ICAL.helpers.formatClassType({}, ICAL.Time);\n * (result isntanceof ICAL.Time)\n * // => true\n *\n *\n * @param {Object} data object initialization data\n * @param {Object} type object type (like ICAL.Time)\n * @return {?} An instance of the found type.\n */\n formatClassType: function formatClassType(data, type) {\n if (typeof(data) === 'undefined') {\n return undefined;\n }\n\n if (data instanceof type) {\n return data;\n }\n return new type(data);\n },\n\n /**\n * Identical to indexOf but will only match values when they are not preceded\n * by a backslash character.\n *\n * @param {String} buffer String to search\n * @param {String} search Value to look for\n * @param {Number} pos Start position\n * @return {Number} The position, or -1 if not found\n */\n unescapedIndexOf: function(buffer, search, pos) {\n while ((pos = buffer.indexOf(search, pos)) !== -1) {\n if (pos > 0 && buffer[pos - 1] === '\\\\') {\n pos += 1;\n } else {\n return pos;\n }\n }\n return -1;\n },\n\n /**\n * Find the index for insertion using binary search.\n *\n * @param {Array} list The list to search\n * @param {?} seekVal The value to insert\n * @param {function(?,?)} cmpfunc The comparison func, that can\n * compare two seekVals\n * @return {Number} The insert position\n */\n binsearchInsert: function(list, seekVal, cmpfunc) {\n if (!list.length)\n return 0;\n\n var low = 0, high = list.length - 1,\n mid, cmpval;\n\n while (low <= high) {\n mid = low + Math.floor((high - low) / 2);\n cmpval = cmpfunc(seekVal, list[mid]);\n\n if (cmpval < 0)\n high = mid - 1;\n else if (cmpval > 0)\n low = mid + 1;\n else\n break;\n }\n\n if (cmpval < 0)\n return mid; // insertion is displacing, so use mid outright.\n else if (cmpval > 0)\n return mid + 1;\n else\n return mid;\n },\n\n /**\n * Convenience function for debug output\n * @private\n */\n dumpn: /* istanbul ignore next */ function() {\n if (!ICAL.debug) {\n return;\n }\n\n if (typeof (console) !== 'undefined' && 'log' in console) {\n ICAL.helpers.dumpn = function consoleDumpn(input) {\n console.log(input);\n };\n } else {\n ICAL.helpers.dumpn = function geckoDumpn(input) {\n dump(input + '\\n');\n };\n }\n\n ICAL.helpers.dumpn(arguments[0]);\n },\n\n /**\n * Clone the passed object or primitive. By default a shallow clone will be\n * executed.\n *\n * @param {*} aSrc The thing to clone\n * @param {Boolean=} aDeep If true, a deep clone will be performed\n * @return {*} The copy of the thing\n */\n clone: function(aSrc, aDeep) {\n if (!aSrc || typeof aSrc != \"object\") {\n return aSrc;\n } else if (aSrc instanceof Date) {\n return new Date(aSrc.getTime());\n } else if (\"clone\" in aSrc) {\n return aSrc.clone();\n } else if (Array.isArray(aSrc)) {\n var arr = [];\n for (var i = 0; i < aSrc.length; i++) {\n arr.push(aDeep ? ICAL.helpers.clone(aSrc[i], true) : aSrc[i]);\n }\n return arr;\n } else {\n var obj = {};\n for (var name in aSrc) {\n // uses prototype method to allow use of Object.create(null);\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aSrc, name)) {\n if (aDeep) {\n obj[name] = ICAL.helpers.clone(aSrc[name], true);\n } else {\n obj[name] = aSrc[name];\n }\n }\n }\n return obj;\n }\n },\n\n /**\n * Performs iCalendar line folding. A line ending character is inserted and\n * the next line begins with a whitespace.\n *\n * @example\n * SUMMARY:This line will be fold\n * ed right in the middle of a word.\n *\n * @param {String} aLine The line to fold\n * @return {String} The folded line\n */\n foldline: function foldline(aLine) {\n var result = \"\";\n var line = aLine || \"\";\n\n while (line.length) {\n result += ICAL.newLineChar + \" \" + line.substr(0, ICAL.foldLength);\n line = line.substr(ICAL.foldLength);\n }\n return result.substr(ICAL.newLineChar.length + 1);\n },\n\n /**\n * Pads the given string or number with zeros so it will have at least two\n * characters.\n *\n * @param {String|Number} data The string or number to pad\n * @return {String} The number padded as a string\n */\n pad2: function pad(data) {\n if (typeof(data) !== 'string') {\n // handle fractions.\n if (typeof(data) === 'number') {\n data = parseInt(data);\n }\n data = String(data);\n }\n\n var len = data.length;\n\n switch (len) {\n case 0:\n return '00';\n case 1:\n return '0' + data;\n default:\n return data;\n }\n },\n\n /**\n * Truncates the given number, correctly handling negative numbers.\n *\n * @param {Number} number The number to truncate\n * @return {Number} The truncated number\n */\n trunc: function trunc(number) {\n return (number < 0 ? Math.ceil(number) : Math.floor(number));\n },\n\n /**\n * Poor-man's cross-browser inheritance for JavaScript. Doesn't support all\n * the features, but enough for our usage.\n *\n * @param {Function} base The base class constructor function.\n * @param {Function} child The child class constructor function.\n * @param {Object} extra Extends the prototype with extra properties\n * and methods\n */\n inherits: function(base, child, extra) {\n function F() {}\n F.prototype = base.prototype;\n child.prototype = new F();\n\n if (extra) {\n ICAL.helpers.extend(extra, child.prototype);\n }\n },\n\n /**\n * Poor-man's cross-browser object extension. Doesn't support all the\n * features, but enough for our usage. Note that the target's properties are\n * not overwritten with the source properties.\n *\n * @example\n * var child = ICAL.helpers.extend(parent, {\n * \"bar\": 123\n * });\n *\n * @param {Object} source The object to extend\n * @param {Object} target The object to extend with\n * @return {Object} Returns the target.\n */\n extend: function(source, target) {\n for (var key in source) {\n var descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr && !Object.getOwnPropertyDescriptor(target, key)) {\n Object.defineProperty(target, key, descr);\n }\n }\n return target;\n }\n};\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n/** @namespace ICAL */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.design = (function() {\n 'use strict';\n\n var FROM_ICAL_NEWLINE = /\\\\\\\\|\\\\;|\\\\,|\\\\[Nn]/g;\n var TO_ICAL_NEWLINE = /\\\\|;|,|\\n/g;\n var FROM_VCARD_NEWLINE = /\\\\\\\\|\\\\,|\\\\[Nn]/g;\n var TO_VCARD_NEWLINE = /\\\\|,|\\n/g;\n\n function createTextType(fromNewline, toNewline) {\n var result = {\n matches: /.*/,\n\n fromICAL: function(aValue, structuredEscape) {\n return replaceNewline(aValue, fromNewline, structuredEscape);\n },\n\n toICAL: function(aValue, structuredEscape) {\n var regEx = toNewline;\n if (structuredEscape)\n regEx = new RegExp(regEx.source + '|' + structuredEscape);\n return aValue.replace(regEx, function(str) {\n switch (str) {\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \";\":\n return \"\\\\;\";\n case \",\":\n return \"\\\\,\";\n case \"\\n\":\n return \"\\\\n\";\n /* istanbul ignore next */\n default:\n return str;\n }\n });\n }\n };\n return result;\n }\n\n // default types used multiple times\n var DEFAULT_TYPE_TEXT = { defaultType: \"text\" };\n var DEFAULT_TYPE_TEXT_MULTI = { defaultType: \"text\", multiValue: \",\" };\n var DEFAULT_TYPE_TEXT_STRUCTURED = { defaultType: \"text\", structuredValue: \";\" };\n var DEFAULT_TYPE_INTEGER = { defaultType: \"integer\" };\n var DEFAULT_TYPE_DATETIME_DATE = { defaultType: \"date-time\", allowedTypes: [\"date-time\", \"date\"] };\n var DEFAULT_TYPE_DATETIME = { defaultType: \"date-time\" };\n var DEFAULT_TYPE_URI = { defaultType: \"uri\" };\n var DEFAULT_TYPE_UTCOFFSET = { defaultType: \"utc-offset\" };\n var DEFAULT_TYPE_RECUR = { defaultType: \"recur\" };\n var DEFAULT_TYPE_DATE_ANDOR_TIME = { defaultType: \"date-and-or-time\", allowedTypes: [\"date-time\", \"date\", \"text\"] };\n\n function replaceNewlineReplace(string) {\n switch (string) {\n case \"\\\\\\\\\":\n return \"\\\\\";\n case \"\\\\;\":\n return \";\";\n case \"\\\\,\":\n return \",\";\n case \"\\\\n\":\n case \"\\\\N\":\n return \"\\n\";\n /* istanbul ignore next */\n default:\n return string;\n }\n }\n\n function replaceNewline(value, newline, structuredEscape) {\n // avoid regex when possible.\n if (value.indexOf('\\\\') === -1) {\n return value;\n }\n if (structuredEscape)\n newline = new RegExp(newline.source + '|\\\\\\\\' + structuredEscape);\n return value.replace(newline, replaceNewlineReplace);\n }\n\n var commonProperties = {\n \"categories\": DEFAULT_TYPE_TEXT_MULTI,\n \"url\": DEFAULT_TYPE_URI,\n \"version\": DEFAULT_TYPE_TEXT,\n \"uid\": DEFAULT_TYPE_TEXT\n };\n\n var commonValues = {\n \"boolean\": {\n values: [\"TRUE\", \"FALSE\"],\n\n fromICAL: function(aValue) {\n switch (aValue) {\n case 'TRUE':\n return true;\n case 'FALSE':\n return false;\n default:\n //TODO: parser warning\n return false;\n }\n },\n\n toICAL: function(aValue) {\n if (aValue) {\n return 'TRUE';\n }\n return 'FALSE';\n }\n\n },\n float: {\n matches: /^[+-]?\\d+\\.\\d+$/,\n\n fromICAL: function(aValue) {\n var parsed = parseFloat(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n // TODO: parser warning\n return 0.0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n integer: {\n fromICAL: function(aValue) {\n var parsed = parseInt(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n return 0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n \"utc-offset\": {\n toICAL: function(aValue) {\n if (aValue.length < 7) {\n // no seconds\n // -0500\n return aValue.substr(0, 3) +\n aValue.substr(4, 2);\n } else {\n // seconds\n // -050000\n return aValue.substr(0, 3) +\n aValue.substr(4, 2) +\n aValue.substr(7, 2);\n }\n },\n\n fromICAL: function(aValue) {\n if (aValue.length < 6) {\n // no seconds\n // -05:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2);\n } else {\n // seconds\n // -05:00:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2) + ':' +\n aValue.substr(5, 2);\n }\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n };\n\n var icalParams = {\n // Although the syntax is DQUOTE uri DQUOTE, I don't think we should\n // enfoce anything aside from it being a valid content line.\n //\n // At least some params require - if multi values are used - DQUOTEs\n // for each of its values - e.g. delegated-from=\"uri1\",\"uri2\"\n // To indicate this, I introduced the new k/v pair\n // multiValueSeparateDQuote: true\n //\n // \"ALTREP\": { ... },\n\n // CN just wants a param-value\n // \"CN\": { ... }\n\n \"cutype\": {\n values: [\"INDIVIDUAL\", \"GROUP\", \"RESOURCE\", \"ROOM\", \"UNKNOWN\"],\n allowXName: true,\n allowIanaToken: true\n },\n\n \"delegated-from\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"delegated-to\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n // \"DIR\": { ... }, // See ALTREP\n \"encoding\": {\n values: [\"8BIT\", \"BASE64\"]\n },\n // \"FMTTYPE\": { ... }, // See ALTREP\n \"fbtype\": {\n values: [\"FREE\", \"BUSY\", \"BUSY-UNAVAILABLE\", \"BUSY-TENTATIVE\"],\n allowXName: true,\n allowIanaToken: true\n },\n // \"LANGUAGE\": { ... }, // See ALTREP\n \"member\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"partstat\": {\n // TODO These values are actually different per-component\n values: [\"NEEDS-ACTION\", \"ACCEPTED\", \"DECLINED\", \"TENTATIVE\",\n \"DELEGATED\", \"COMPLETED\", \"IN-PROCESS\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"range\": {\n values: [\"THISLANDFUTURE\"]\n },\n \"related\": {\n values: [\"START\", \"END\"]\n },\n \"reltype\": {\n values: [\"PARENT\", \"CHILD\", \"SIBLING\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"role\": {\n values: [\"REQ-PARTICIPANT\", \"CHAIR\",\n \"OPT-PARTICIPANT\", \"NON-PARTICIPANT\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"rsvp\": {\n values: [\"TRUE\", \"FALSE\"]\n },\n \"sent-by\": {\n valueType: \"cal-address\"\n },\n \"tzid\": {\n matches: /^\\//\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"binary\", \"boolean\", \"cal-address\", \"date\", \"date-time\",\n \"duration\", \"float\", \"integer\", \"period\", \"recur\", \"text\",\n \"time\", \"uri\", \"utc-offset\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n // When adding a value here, be sure to add it to the parameter types!\n var icalValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_ICAL_NEWLINE, TO_ICAL_NEWLINE),\n\n uri: {\n // TODO\n /* ... */\n },\n\n \"binary\": {\n decorate: function(aString) {\n return ICAL.Binary.fromString(aString);\n },\n\n undecorate: function(aBinary) {\n return aBinary.toString();\n }\n },\n \"cal-address\": {\n // needs to be an uri\n },\n \"date\": {\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n /**\n * undecorates a time object.\n */\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n // from: 20120901\n // to: 2012-09-01\n if (!design.strict && aValue.length >= 15) {\n // This is probably a date-time, e.g. 20120901T130000Z\n return icalValues[\"date-time\"].fromICAL(aValue);\n } else {\n return aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2);\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01\n // to: 20120901\n var len = aValue.length;\n\n if (len == 10) {\n return aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n aValue.substr(8, 2);\n } else if (len >= 19) {\n return icalValues[\"date-time\"].toICAL(aValue);\n } else {\n //TODO: serialize warning?\n return aValue;\n }\n\n }\n },\n \"date-time\": {\n fromICAL: function(aValue) {\n // from: 20120901T130000\n // to: 2012-09-01T13:00:00\n if (!design.strict && aValue.length == 8) {\n // This is probably a date, e.g. 20120901\n return icalValues.date.fromICAL(aValue);\n } else {\n var result = aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2) + 'T' +\n aValue.substr(9, 2) + ':' +\n aValue.substr(11, 2) + ':' +\n aValue.substr(13, 2);\n\n if (aValue[15] && aValue[15] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01T13:00:00\n // to: 20120901T130000\n var len = aValue.length;\n\n if (len == 10 && !design.strict) {\n return icalValues.date.toICAL(aValue);\n } else if (len >= 19) {\n var result = aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n // grab the (DDTHH) segment\n aValue.substr(8, 5) +\n // MM\n aValue.substr(14, 2) +\n // SS\n aValue.substr(17, 2);\n\n if (aValue[19] && aValue[19] === 'Z') {\n result += 'Z';\n }\n return result;\n } else {\n // TODO: error\n return aValue;\n }\n },\n\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n duration: {\n decorate: function(aValue) {\n return ICAL.Duration.fromString(aValue);\n },\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n period: {\n\n fromICAL: function(string) {\n var parts = string.split('/');\n parts[0] = icalValues['date-time'].fromICAL(parts[0]);\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n parts[1] = icalValues['date-time'].fromICAL(parts[1]);\n }\n\n return parts;\n },\n\n toICAL: function(parts) {\n if (!design.strict && parts[0].length == 10) {\n parts[0] = icalValues.date.toICAL(parts[0]);\n } else {\n parts[0] = icalValues['date-time'].toICAL(parts[0]);\n }\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n if (!design.strict && parts[1].length == 10) {\n parts[1] = icalValues.date.toICAL(parts[1]);\n } else {\n parts[1] = icalValues['date-time'].toICAL(parts[1]);\n }\n }\n\n return parts.join(\"/\");\n },\n\n decorate: function(aValue, aProp) {\n return ICAL.Period.fromJSON(aValue, aProp, !design.strict);\n },\n\n undecorate: function(aValue) {\n return aValue.toJSON();\n }\n },\n recur: {\n fromICAL: function(string) {\n return ICAL.Recur._stringToData(string, true);\n },\n\n toICAL: function(data) {\n var str = \"\";\n for (var k in data) {\n /* istanbul ignore if */\n if (!Object.prototype.hasOwnProperty.call(data, k)) {\n continue;\n }\n var val = data[k];\n if (k == \"until\") {\n if (val.length > 10) {\n val = icalValues['date-time'].toICAL(val);\n } else {\n val = icalValues.date.toICAL(val);\n }\n } else if (k == \"wkst\") {\n if (typeof val === 'number') {\n val = ICAL.Recur.numericDayToIcalDay(val);\n }\n } else if (Array.isArray(val)) {\n val = val.join(\",\");\n }\n str += k.toUpperCase() + \"=\" + val + \";\";\n }\n return str.substr(0, str.length - 1);\n },\n\n decorate: function decorate(aValue) {\n return ICAL.Recur.fromData(aValue);\n },\n\n undecorate: function(aRecur) {\n return aRecur.toJSON();\n }\n },\n\n time: {\n fromICAL: function(aValue) {\n // from: MMHHSS(Z)?\n // to: HH:MM:SS(Z)?\n if (aValue.length < 6) {\n // TODO: parser exception?\n return aValue;\n }\n\n // HH::MM::SSZ?\n var result = aValue.substr(0, 2) + ':' +\n aValue.substr(2, 2) + ':' +\n aValue.substr(4, 2);\n\n if (aValue[6] === 'Z') {\n result += 'Z';\n }\n\n return result;\n },\n\n toICAL: function(aValue) {\n // from: HH:MM:SS(Z)?\n // to: MMHHSS(Z)?\n if (aValue.length < 8) {\n //TODO: error\n return aValue;\n }\n\n var result = aValue.substr(0, 2) +\n aValue.substr(3, 2) +\n aValue.substr(6, 2);\n\n if (aValue[8] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n }\n });\n\n var icalProperties = ICAL.helpers.extend(commonProperties, {\n\n \"action\": DEFAULT_TYPE_TEXT,\n \"attach\": { defaultType: \"uri\" },\n \"attendee\": { defaultType: \"cal-address\" },\n \"calscale\": DEFAULT_TYPE_TEXT,\n \"class\": DEFAULT_TYPE_TEXT,\n \"comment\": DEFAULT_TYPE_TEXT,\n \"completed\": DEFAULT_TYPE_DATETIME,\n \"contact\": DEFAULT_TYPE_TEXT,\n \"created\": DEFAULT_TYPE_DATETIME,\n \"description\": DEFAULT_TYPE_TEXT,\n \"dtend\": DEFAULT_TYPE_DATETIME_DATE,\n \"dtstamp\": DEFAULT_TYPE_DATETIME,\n \"dtstart\": DEFAULT_TYPE_DATETIME_DATE,\n \"due\": DEFAULT_TYPE_DATETIME_DATE,\n \"duration\": { defaultType: \"duration\" },\n \"exdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n multiValue: ','\n },\n \"exrule\": DEFAULT_TYPE_RECUR,\n \"freebusy\": { defaultType: \"period\", multiValue: \",\" },\n \"geo\": { defaultType: \"float\", structuredValue: \";\" },\n \"last-modified\": DEFAULT_TYPE_DATETIME,\n \"location\": DEFAULT_TYPE_TEXT,\n \"method\": DEFAULT_TYPE_TEXT,\n \"organizer\": { defaultType: \"cal-address\" },\n \"percent-complete\": DEFAULT_TYPE_INTEGER,\n \"priority\": DEFAULT_TYPE_INTEGER,\n \"prodid\": DEFAULT_TYPE_TEXT,\n \"related-to\": DEFAULT_TYPE_TEXT,\n \"repeat\": DEFAULT_TYPE_INTEGER,\n \"rdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\", \"period\"],\n multiValue: ',',\n detectType: function(string) {\n if (string.indexOf('/') !== -1) {\n return 'period';\n }\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"recurrence-id\": DEFAULT_TYPE_DATETIME_DATE,\n \"resources\": DEFAULT_TYPE_TEXT_MULTI,\n \"request-status\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"rrule\": DEFAULT_TYPE_RECUR,\n \"sequence\": DEFAULT_TYPE_INTEGER,\n \"status\": DEFAULT_TYPE_TEXT,\n \"summary\": DEFAULT_TYPE_TEXT,\n \"transp\": DEFAULT_TYPE_TEXT,\n \"trigger\": { defaultType: \"duration\", allowedTypes: [\"duration\", \"date-time\"] },\n \"tzoffsetfrom\": DEFAULT_TYPE_UTCOFFSET,\n \"tzoffsetto\": DEFAULT_TYPE_UTCOFFSET,\n \"tzurl\": DEFAULT_TYPE_URI,\n \"tzid\": DEFAULT_TYPE_TEXT,\n \"tzname\": DEFAULT_TYPE_TEXT\n });\n\n // When adding a value here, be sure to add it to the parameter types!\n var vcardValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n uri: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n\n date: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n if (aValue.length == 8) {\n return icalValues.date.fromICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 6) {\n return aValue.substr(0, 4) + '-' + aValue.substr(4);\n } else {\n return aValue;\n }\n },\n toICAL: function(aValue) {\n if (aValue.length == 10) {\n return icalValues.date.toICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 7) {\n return aValue.substr(0, 4) + aValue.substr(5);\n } else {\n return aValue;\n }\n }\n },\n\n time: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(\"T\" + aValue, \"time\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue, true);\n var zone = splitzone[0], value = splitzone[1];\n\n //console.log(\"SPLIT: \",splitzone);\n\n if (value.length == 6) {\n value = value.substr(0, 2) + ':' +\n value.substr(2, 2) + ':' +\n value.substr(4, 2);\n } else if (value.length == 4 && value[0] != '-') {\n value = value.substr(0, 2) + ':' + value.substr(2, 2);\n } else if (value.length == 5) {\n value = value.substr(0, 3) + ':' + value.substr(3, 2);\n }\n\n if (zone.length == 5 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + ':' + zone.substr(3);\n }\n\n return value + zone;\n },\n\n toICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue);\n var zone = splitzone[0], value = splitzone[1];\n\n if (value.length == 8) {\n value = value.substr(0, 2) +\n value.substr(3, 2) +\n value.substr(6, 2);\n } else if (value.length == 5 && value[0] != '-') {\n value = value.substr(0, 2) + value.substr(3, 2);\n } else if (value.length == 6) {\n value = value.substr(0, 3) + value.substr(4, 2);\n }\n\n if (zone.length == 6 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + zone.substr(4);\n }\n\n return value + zone;\n },\n\n _splitZone: function(aValue, isFromIcal) {\n var lastChar = aValue.length - 1;\n var signChar = aValue.length - (isFromIcal ? 5 : 6);\n var sign = aValue[signChar];\n var zone, value;\n\n if (aValue[lastChar] == 'Z') {\n zone = aValue[lastChar];\n value = aValue.substr(0, lastChar);\n } else if (aValue.length > 6 && (sign == '-' || sign == '+')) {\n zone = aValue.substr(signChar);\n value = aValue.substr(0, signChar);\n } else {\n zone = \"\";\n value = aValue;\n }\n\n return [zone, value];\n }\n },\n\n \"date-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n return vcardValues['date-and-or-time'].fromICAL(aValue);\n },\n\n toICAL: function(aValue) {\n return vcardValues['date-and-or-time'].toICAL(aValue);\n }\n },\n\n \"date-and-or-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-and-or-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n var parts = aValue.split('T');\n return (parts[0] ? vcardValues.date.fromICAL(parts[0]) : '') +\n (parts[1] ? 'T' + vcardValues.time.fromICAL(parts[1]) : '');\n },\n\n toICAL: function(aValue) {\n var parts = aValue.split('T');\n return vcardValues.date.toICAL(parts[0]) +\n (parts[1] ? 'T' + vcardValues.time.toICAL(parts[1]) : '');\n\n }\n },\n timestamp: icalValues['date-time'],\n \"language-tag\": {\n matches: /^[a-zA-Z0-9-]+$/ // Could go with a more strict regex here\n }\n });\n\n var vcardParams = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"time\", \"date-time\", \"date-and-or-time\",\n \"timestamp\", \"boolean\", \"integer\", \"float\", \"utc-offset\",\n \"language-tag\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcardProperties = ICAL.helpers.extend(commonProperties, {\n \"adr\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"anniversary\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"bday\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"caladruri\": DEFAULT_TYPE_URI,\n \"caluri\": DEFAULT_TYPE_URI,\n \"clientpidmap\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"email\": DEFAULT_TYPE_TEXT,\n \"fburl\": DEFAULT_TYPE_URI,\n \"fn\": DEFAULT_TYPE_TEXT,\n \"gender\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"geo\": DEFAULT_TYPE_URI,\n \"impp\": DEFAULT_TYPE_URI,\n \"key\": DEFAULT_TYPE_URI,\n \"kind\": DEFAULT_TYPE_TEXT,\n \"lang\": { defaultType: \"language-tag\" },\n \"logo\": DEFAULT_TYPE_URI,\n \"member\": DEFAULT_TYPE_URI,\n \"n\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"nickname\": DEFAULT_TYPE_TEXT_MULTI,\n \"note\": DEFAULT_TYPE_TEXT,\n \"org\": { defaultType: \"text\", structuredValue: \";\" },\n \"photo\": DEFAULT_TYPE_URI,\n \"related\": DEFAULT_TYPE_URI,\n \"rev\": { defaultType: \"timestamp\" },\n \"role\": DEFAULT_TYPE_TEXT,\n \"sound\": DEFAULT_TYPE_URI,\n \"source\": DEFAULT_TYPE_URI,\n \"tel\": { defaultType: \"uri\", allowedTypes: [\"uri\", \"text\"] },\n \"title\": DEFAULT_TYPE_TEXT,\n \"tz\": { defaultType: \"text\", allowedTypes: [\"text\", \"utc-offset\", \"uri\"] },\n \"xml\": DEFAULT_TYPE_TEXT\n });\n\n var vcard3Values = ICAL.helpers.extend(commonValues, {\n binary: icalValues.binary,\n date: vcardValues.date,\n \"date-time\": vcardValues[\"date-time\"],\n \"phone-number\": {\n // TODO\n /* ... */\n },\n uri: icalValues.uri,\n text: icalValues.text,\n time: icalValues.time,\n vcard: icalValues.text,\n \"utc-offset\": {\n toICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n fromICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n });\n\n var vcard3Params = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"date-time\", \"phone-number\", \"time\",\n \"boolean\", \"integer\", \"float\", \"utc-offset\", \"vcard\", \"binary\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcard3Properties = ICAL.helpers.extend(commonProperties, {\n fn: DEFAULT_TYPE_TEXT,\n n: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n nickname: DEFAULT_TYPE_TEXT_MULTI,\n photo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n bday: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n\n adr: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n label: DEFAULT_TYPE_TEXT,\n\n tel: { defaultType: \"phone-number\" },\n email: DEFAULT_TYPE_TEXT,\n mailer: DEFAULT_TYPE_TEXT,\n\n tz: { defaultType: \"utc-offset\", allowedTypes: [\"utc-offset\", \"text\"] },\n geo: { defaultType: \"float\", structuredValue: \";\" },\n\n title: DEFAULT_TYPE_TEXT,\n role: DEFAULT_TYPE_TEXT,\n logo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n agent: { defaultType: \"vcard\", allowedTypes: [\"vcard\", \"text\", \"uri\"] },\n org: DEFAULT_TYPE_TEXT_STRUCTURED,\n\n note: DEFAULT_TYPE_TEXT_MULTI,\n prodid: DEFAULT_TYPE_TEXT,\n rev: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"sort-string\": DEFAULT_TYPE_TEXT,\n sound: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n\n class: DEFAULT_TYPE_TEXT,\n key: { defaultType: \"binary\", allowedTypes: [\"binary\", \"text\"] }\n });\n\n /**\n * iCalendar design set\n * @type {ICAL.design.designSet}\n */\n var icalSet = {\n value: icalValues,\n param: icalParams,\n property: icalProperties\n };\n\n /**\n * vCard 4.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcardSet = {\n value: vcardValues,\n param: vcardParams,\n property: vcardProperties\n };\n\n /**\n * vCard 3.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcard3Set = {\n value: vcard3Values,\n param: vcard3Params,\n property: vcard3Properties\n };\n\n /**\n * The design data, used by the parser to determine types for properties and\n * other metadata needed to produce correct jCard/jCal data.\n *\n * @alias ICAL.design\n * @namespace\n */\n var design = {\n /**\n * A designSet describes value, parameter and property data. It is used by\n * ther parser and stringifier in components and properties to determine they\n * should be represented.\n *\n * @typedef {Object} designSet\n * @memberOf ICAL.design\n * @property {Object} value Definitions for value types, keys are type names\n * @property {Object} param Definitions for params, keys are param names\n * @property {Object} property Defintions for properties, keys are property names\n */\n\n /**\n * Can be set to false to make the parser more lenient.\n */\n strict: true,\n\n /**\n * The default set for new properties and components if none is specified.\n * @type {ICAL.design.designSet}\n */\n defaultSet: icalSet,\n\n /**\n * The default type for unknown properties\n * @type {String}\n */\n defaultType: 'unknown',\n\n /**\n * Holds the design set for known top-level components\n *\n * @type {Object}\n * @property {ICAL.design.designSet} vcard vCard VCARD\n * @property {ICAL.design.designSet} vevent iCalendar VEVENT\n * @property {ICAL.design.designSet} vtodo iCalendar VTODO\n * @property {ICAL.design.designSet} vjournal iCalendar VJOURNAL\n * @property {ICAL.design.designSet} valarm iCalendar VALARM\n * @property {ICAL.design.designSet} vtimezone iCalendar VTIMEZONE\n * @property {ICAL.design.designSet} daylight iCalendar DAYLIGHT\n * @property {ICAL.design.designSet} standard iCalendar STANDARD\n *\n * @example\n * var propertyName = 'fn';\n * var componentDesign = ICAL.design.components.vcard;\n * var propertyDetails = componentDesign.property[propertyName];\n * if (propertyDetails.defaultType == 'text') {\n * // Yep, sure is...\n * }\n */\n components: {\n vcard: vcardSet,\n vcard3: vcard3Set,\n vevent: icalSet,\n vtodo: icalSet,\n vjournal: icalSet,\n valarm: icalSet,\n vtimezone: icalSet,\n daylight: icalSet,\n standard: icalSet\n },\n\n\n /**\n * The design set for iCalendar (rfc5545/rfc7265) components.\n * @type {ICAL.design.designSet}\n */\n icalendar: icalSet,\n\n /**\n * The design set for vCard (rfc6350/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard: vcardSet,\n\n /**\n * The design set for vCard (rfc2425/rfc2426/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard3: vcard3Set,\n\n /**\n * Gets the design set for the given component name.\n *\n * @param {String} componentName The name of the component\n * @return {ICAL.design.designSet} The design set for the component\n */\n getDesignSet: function(componentName) {\n var isInDesign = componentName && componentName in design.components;\n return isInDesign ? design.components[componentName] : design.defaultSet;\n }\n };\n\n return design;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to convert jCal and jCard data back into\n * iCalendar and vCard.\n * @namespace\n */\nICAL.stringify = (function() {\n 'use strict';\n\n var LINE_ENDING = '\\r\\n';\n var DEFAULT_VALUE_TYPE = 'unknown';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * Convert a full jCal/jCard array into a iCalendar/vCard string.\n *\n * @function ICAL.stringify\n * @variation function\n * @param {Array} jCal The jCal/jCard document\n * @return {String} The stringified iCalendar/vCard document\n */\n function stringify(jCal) {\n if (typeof jCal[0] == \"string\") {\n // This is a single component\n jCal = [jCal];\n }\n\n var i = 0;\n var len = jCal.length;\n var result = '';\n\n for (; i < len; i++) {\n result += stringify.component(jCal[i]) + LINE_ENDING;\n }\n\n return result;\n }\n\n /**\n * Converts an jCal component array into a ICAL string.\n * Recursive will resolve sub-components.\n *\n * Exact component/property order is not saved all\n * properties will come before subcomponents.\n *\n * @function ICAL.stringify.component\n * @param {Array} component\n * jCal/jCard fragment of a component\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this component\n * @return {String} The iCalendar/vCard string\n */\n stringify.component = function(component, designSet) {\n var name = component[0].toUpperCase();\n var result = 'BEGIN:' + name + LINE_ENDING;\n\n var props = component[1];\n var propIdx = 0;\n var propLen = props.length;\n\n var designSetName = component[0];\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (designSetName === 'vcard' && component[1].length > 0 &&\n !(component[1][0][0] === \"version\" && component[1][0][3] === \"4.0\")) {\n designSetName = \"vcard3\";\n }\n designSet = designSet || design.getDesignSet(designSetName);\n\n for (; propIdx < propLen; propIdx++) {\n result += stringify.property(props[propIdx], designSet) + LINE_ENDING;\n }\n\n // Ignore subcomponents if none exist, e.g. in vCard.\n var comps = component[2] || [];\n var compIdx = 0;\n var compLen = comps.length;\n\n for (; compIdx < compLen; compIdx++) {\n result += stringify.component(comps[compIdx], designSet) + LINE_ENDING;\n }\n\n result += 'END:' + name;\n return result;\n };\n\n /**\n * Converts a single jCal/jCard property to a iCalendar/vCard string.\n *\n * @function ICAL.stringify.property\n * @param {Array} property\n * jCal/jCard property array\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n * @param {Boolean} noFold\n * If true, the line is not folded\n * @return {String} The iCalendar/vCard string\n */\n stringify.property = function(property, designSet, noFold) {\n var name = property[0].toUpperCase();\n var jsName = property[0];\n var params = property[1];\n\n var line = name;\n\n var paramName;\n for (paramName in params) {\n var value = params[paramName];\n\n /* istanbul ignore else */\n if (params.hasOwnProperty(paramName)) {\n var multiValue = (paramName in designSet.param) && designSet.param[paramName].multiValue;\n if (multiValue && Array.isArray(value)) {\n if (designSet.param[paramName].multiValueSeparateDQuote) {\n multiValue = '\"' + multiValue + '\"';\n }\n value = value.map(stringify._rfc6868Unescape);\n value = stringify.multiValue(value, multiValue, \"unknown\", null, designSet);\n } else {\n value = stringify._rfc6868Unescape(value);\n }\n\n\n line += ';' + paramName.toUpperCase();\n line += '=' + stringify.propertyValue(value);\n }\n }\n\n if (property.length === 3) {\n // If there are no values, we must assume a blank value\n return line + ':';\n }\n\n var valueType = property[2];\n\n if (!designSet) {\n designSet = design.defaultSet;\n }\n\n var propDetails;\n var multiValue = false;\n var structuredValue = false;\n var isDefault = false;\n\n if (jsName in designSet.property) {\n propDetails = designSet.property[jsName];\n\n if ('multiValue' in propDetails) {\n multiValue = propDetails.multiValue;\n }\n\n if (('structuredValue' in propDetails) && Array.isArray(property[3])) {\n structuredValue = propDetails.structuredValue;\n }\n\n if ('defaultType' in propDetails) {\n if (valueType === propDetails.defaultType) {\n isDefault = true;\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n\n // push the VALUE property if type is not the default\n // for the current property.\n if (!isDefault) {\n // value will never contain ;/:/, so we don't escape it here.\n line += ';VALUE=' + valueType.toUpperCase();\n }\n\n line += ':';\n\n if (multiValue && structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, multiValue, designSet, structuredValue\n );\n } else if (multiValue) {\n line += stringify.multiValue(\n property.slice(3), multiValue, valueType, null, designSet, false\n );\n } else if (structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, null, designSet, structuredValue\n );\n } else {\n line += stringify.value(property[3], valueType, designSet, false);\n }\n\n return noFold ? line : ICAL.helpers.foldline(line);\n };\n\n /**\n * Handles escaping of property values that may contain:\n *\n * COLON (:), SEMICOLON (;), or COMMA (,)\n *\n * If any of the above are present the result is wrapped\n * in double quotes.\n *\n * @function ICAL.stringify.propertyValue\n * @param {String} value Raw property value\n * @return {String} Given or escaped value when needed\n */\n stringify.propertyValue = function(value) {\n\n if ((helpers.unescapedIndexOf(value, ',') === -1) &&\n (helpers.unescapedIndexOf(value, ':') === -1) &&\n (helpers.unescapedIndexOf(value, ';') === -1)) {\n\n return value;\n }\n\n return '\"' + value + '\"';\n };\n\n /**\n * Converts an array of ical values into a single\n * string based on a type and a delimiter value (like \",\").\n *\n * @function ICAL.stringify.multiValue\n * @param {Array} values List of values to convert\n * @param {String} delim Used to join the values (\",\", \";\", \":\")\n * @param {String} type Lowecase ical value type\n * (like boolean, date-time, etc..)\n * @param {?String} innerMulti If set, each value will again be processed\n * Used for structured values\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n *\n * @return {String} iCalendar/vCard string for value\n */\n stringify.multiValue = function(values, delim, type, innerMulti, designSet, structuredValue) {\n var result = '';\n var len = values.length;\n var i = 0;\n\n for (; i < len; i++) {\n if (innerMulti && Array.isArray(values[i])) {\n result += stringify.multiValue(values[i], innerMulti, type, null, designSet, structuredValue);\n } else {\n result += stringify.value(values[i], type, designSet, structuredValue);\n }\n\n if (i !== (len - 1)) {\n result += delim;\n }\n }\n\n return result;\n };\n\n /**\n * Processes a single ical value runs the associated \"toICAL\" method from the\n * design value type if available to convert the value.\n *\n * @function ICAL.stringify.value\n * @param {String|Number} value A formatted value\n * @param {String} type Lowercase iCalendar/vCard value type\n * (like boolean, date-time, etc..)\n * @return {String} iCalendar/vCard value for single value\n */\n stringify.value = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'toICAL' in designSet.value[type]) {\n return designSet.value[type].toICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.stringify so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @param {String} val The value to unescape\n * @return {String} The escaped value\n */\n stringify._rfc6868Unescape = function(val) {\n return val.replace(/[\\n^\"]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { '\"': \"^'\", \"\\n\": \"^n\", \"^\": \"^^\" };\n\n return stringify;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to parse iCalendar and vCard data.\n * @namespace\n */\nICAL.parse = (function() {\n 'use strict';\n\n var CHAR = /[^ \\t]/;\n var MULTIVALUE_DELIMITER = ',';\n var VALUE_DELIMITER = ':';\n var PARAM_DELIMITER = ';';\n var PARAM_NAME_DELIMITER = '=';\n var DEFAULT_VALUE_TYPE = 'unknown';\n var DEFAULT_PARAM_TYPE = 'text';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * An error that occurred during parsing.\n *\n * @param {String} message The error message\n * @memberof ICAL.parse\n * @extends {Error}\n * @class\n */\n function ParserError(message) {\n this.message = message;\n this.name = 'ParserError';\n\n try {\n throw new Error();\n } catch (e) {\n if (e.stack) {\n var split = e.stack.split('\\n');\n split.shift();\n this.stack = split.join('\\n');\n }\n }\n }\n\n ParserError.prototype = Error.prototype;\n\n /**\n * Parses iCalendar or vCard data into a raw jCal object. Consult\n * documentation on the {@tutorial layers|layers of parsing} for more\n * details.\n *\n * @function ICAL.parse\n * @variation function\n * @todo Fix the API to be more clear on the return type\n * @param {String} input The string data to parse\n * @return {Object|Object[]} A single jCal object, or an array thereof\n */\n function parser(input) {\n var state = {};\n var root = state.component = [];\n\n state.stack = [root];\n\n parser._eachLine(input, function(err, line) {\n parser._handleContentLine(line, state);\n });\n\n\n // when there are still items on the stack\n // throw a fatal error, a component was not closed\n // correctly in that case.\n if (state.stack.length > 1) {\n throw new ParserError(\n 'invalid ical body. component began but did not end'\n );\n }\n\n state = null;\n\n return (root.length == 1 ? root[0] : root);\n }\n\n /**\n * Parse an iCalendar property value into the jCal for a single property\n *\n * @function ICAL.parse.property\n * @param {String} str\n * The iCalendar property string to parse\n * @param {ICAL.design.designSet=} designSet\n * The design data to use for this property\n * @return {Object}\n * The jCal Object containing the property\n */\n parser.property = function(str, designSet) {\n var state = {\n component: [[], []],\n designSet: designSet || design.defaultSet\n };\n parser._handleContentLine(str, state);\n return state.component[1][0];\n };\n\n /**\n * Convenience method to parse a component. You can use ICAL.parse() directly\n * instead.\n *\n * @function ICAL.parse.component\n * @see ICAL.parse(function)\n * @param {String} str The iCalendar component string to parse\n * @return {Object} The jCal Object containing the component\n */\n parser.component = function(str) {\n return parser(str);\n };\n\n // classes & constants\n parser.ParserError = ParserError;\n\n /**\n * The state for parsing content lines from an iCalendar/vCard string.\n *\n * @private\n * @memberof ICAL.parse\n * @typedef {Object} parserState\n * @property {ICAL.design.designSet} designSet The design set to use for parsing\n * @property {ICAL.Component[]} stack The stack of components being processed\n * @property {ICAL.Component} component The currently active component\n */\n\n\n /**\n * Handles a single line of iCalendar/vCard, updating the state.\n *\n * @private\n * @function ICAL.parse._handleContentLine\n * @param {String} line The content line to process\n * @param {ICAL.parse.parserState} The current state of the line parsing\n */\n parser._handleContentLine = function(line, state) {\n // break up the parts of the line\n var valuePos = line.indexOf(VALUE_DELIMITER);\n var paramPos = line.indexOf(PARAM_DELIMITER);\n\n var lastParamIndex;\n var lastValuePos;\n\n // name of property or begin/end\n var name;\n var value;\n // params is only overridden if paramPos !== -1.\n // we can't do params = params || {} later on\n // because it sacrifices ops.\n var params = {};\n\n /**\n * Different property cases\n *\n *\n * 1. RRULE:FREQ=foo\n * // FREQ= is not a param but the value\n *\n * 2. ATTENDEE;ROLE=REQ-PARTICIPANT;\n * // ROLE= is a param because : has not happened yet\n */\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n\n if ((paramPos !== -1 && valuePos !== -1)) {\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n if (paramPos > valuePos) {\n paramPos = -1;\n }\n }\n\n var parsedParams;\n if (paramPos !== -1) {\n name = line.substring(0, paramPos).toLowerCase();\n parsedParams = parser._parseParameters(line.substring(paramPos), 0, state.designSet);\n if (parsedParams[2] == -1) {\n throw new ParserError(\"Invalid parameters in '\" + line + \"'\");\n }\n params = parsedParams[0];\n lastParamIndex = parsedParams[1].length + parsedParams[2] + paramPos;\n if ((lastValuePos =\n line.substring(lastParamIndex).indexOf(VALUE_DELIMITER)) !== -1) {\n value = line.substring(lastParamIndex + lastValuePos + 1);\n } else {\n throw new ParserError(\"Missing parameter value in '\" + line + \"'\");\n }\n } else if (valuePos !== -1) {\n // without parmeters (BEGIN:VCAENDAR, CLASS:PUBLIC)\n name = line.substring(0, valuePos).toLowerCase();\n value = line.substring(valuePos + 1);\n\n if (name === 'begin') {\n var newComponent = [value.toLowerCase(), [], []];\n if (state.stack.length === 1) {\n state.component.push(newComponent);\n } else {\n state.component[2].push(newComponent);\n }\n state.stack.push(state.component);\n state.component = newComponent;\n if (!state.designSet) {\n state.designSet = design.getDesignSet(state.component[0]);\n }\n return;\n } else if (name === 'end') {\n state.component = state.stack.pop();\n return;\n }\n // If its not begin/end, then this is a property with an empty value,\n // which should be considered valid.\n } else {\n /**\n * Invalid line.\n * The rational to throw an error is we will\n * never be certain that the rest of the file\n * is sane and its unlikely that we can serialize\n * the result correctly either.\n */\n throw new ParserError(\n 'invalid line (no token \";\" or \":\") \"' + line + '\"'\n );\n }\n\n var valueType;\n var multiValue = false;\n var structuredValue = false;\n var propertyDetails;\n\n if (name in state.designSet.property) {\n propertyDetails = state.designSet.property[name];\n\n if ('multiValue' in propertyDetails) {\n multiValue = propertyDetails.multiValue;\n }\n\n if ('structuredValue' in propertyDetails) {\n structuredValue = propertyDetails.structuredValue;\n }\n\n if (value && 'detectType' in propertyDetails) {\n valueType = propertyDetails.detectType(value);\n }\n }\n\n // attempt to determine value\n if (!valueType) {\n if (!('value' in params)) {\n if (propertyDetails) {\n valueType = propertyDetails.defaultType;\n } else {\n valueType = DEFAULT_VALUE_TYPE;\n }\n } else {\n // possible to avoid this?\n valueType = params.value.toLowerCase();\n }\n }\n\n delete params.value;\n\n /**\n * Note on `var result` juggling:\n *\n * I observed that building the array in pieces has adverse\n * effects on performance, so where possible we inline the creation.\n * Its a little ugly but resulted in ~2000 additional ops/sec.\n */\n\n var result;\n if (multiValue && structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], multiValue, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else if (multiValue) {\n result = [name, params, valueType];\n parser._parseMultiValue(value, multiValue, valueType, result, null, state.designSet, false);\n } else if (structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], null, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else {\n value = parser._parseValue(value, valueType, state.designSet, false);\n result = [name, params, valueType, value];\n }\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (state.component[0] === 'vcard' && state.component[1].length === 0 &&\n !(name === 'version' && value === '4.0')) {\n state.designSet = design.getDesignSet(\"vcard3\");\n }\n state.component[1].push(result);\n };\n\n /**\n * Parse a value from the raw value into the jCard/jCal value.\n *\n * @private\n * @function ICAL.parse._parseValue\n * @param {String} value Original value\n * @param {String} type Type of value\n * @param {Object} designSet The design data to use for this value\n * @return {Object} varies on type\n */\n parser._parseValue = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'fromICAL' in designSet.value[type]) {\n return designSet.value[type].fromICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Parse parameters from a string to object.\n *\n * @function ICAL.parse._parseParameters\n * @private\n * @param {String} line A single unfolded line\n * @param {Numeric} start Position to start looking for properties\n * @param {Object} designSet The design data to use for this property\n * @return {Object} key/value pairs\n */\n parser._parseParameters = function(line, start, designSet) {\n var lastParam = start;\n var pos = 0;\n var delim = PARAM_NAME_DELIMITER;\n var result = {};\n var name, lcname;\n var value, valuePos = -1;\n var type, multiValue, mvdelim;\n\n // find the next '=' sign\n // use lastParam and pos to find name\n // check if \" is used if so get value from \"->\"\n // then increment pos to find next ;\n\n while ((pos !== false) &&\n (pos = helpers.unescapedIndexOf(line, delim, pos + 1)) !== -1) {\n\n name = line.substr(lastParam + 1, pos - lastParam - 1);\n if (name.length == 0) {\n throw new ParserError(\"Empty parameter name in '\" + line + \"'\");\n }\n lcname = name.toLowerCase();\n mvdelim = false;\n multiValue = false;\n\n if (lcname in designSet.param && designSet.param[lcname].valueType) {\n type = designSet.param[lcname].valueType;\n } else {\n type = DEFAULT_PARAM_TYPE;\n }\n\n if (lcname in designSet.param) {\n multiValue = designSet.param[lcname].multiValue;\n if (designSet.param[lcname].multiValueSeparateDQuote) {\n mvdelim = parser._rfc6868Escape('\"' + multiValue + '\"');\n }\n }\n\n var nextChar = line[pos + 1];\n if (nextChar === '\"') {\n valuePos = pos + 2;\n pos = helpers.unescapedIndexOf(line, '\"', valuePos);\n if (multiValue && pos != -1) {\n var extendedValue = true;\n while (extendedValue) {\n if (line[pos + 1] == multiValue && line[pos + 2] == '\"') {\n pos = helpers.unescapedIndexOf(line, '\"', pos + 3);\n } else {\n extendedValue = false;\n }\n }\n }\n if (pos === -1) {\n throw new ParserError(\n 'invalid line (no matching double quote) \"' + line + '\"'\n );\n }\n value = line.substr(valuePos, pos - valuePos);\n lastParam = helpers.unescapedIndexOf(line, PARAM_DELIMITER, pos);\n if (lastParam === -1) {\n pos = false;\n }\n } else {\n valuePos = pos + 1;\n\n // move to next \";\"\n var nextPos = helpers.unescapedIndexOf(line, PARAM_DELIMITER, valuePos);\n var propValuePos = helpers.unescapedIndexOf(line, VALUE_DELIMITER, valuePos);\n if (propValuePos !== -1 && nextPos > propValuePos) {\n // this is a delimiter in the property value, let's stop here\n nextPos = propValuePos;\n pos = false;\n } else if (nextPos === -1) {\n // no \";\"\n if (propValuePos === -1) {\n nextPos = line.length;\n } else {\n nextPos = propValuePos;\n }\n pos = false;\n } else {\n lastParam = nextPos;\n pos = nextPos;\n }\n\n value = line.substr(valuePos, nextPos - valuePos);\n }\n\n value = parser._rfc6868Escape(value);\n if (multiValue) {\n var delimiter = mvdelim || multiValue;\n value = parser._parseMultiValue(value, delimiter, type, [], null, designSet);\n } else {\n value = parser._parseValue(value, type, designSet);\n }\n\n if (multiValue && (lcname in result)) {\n if (Array.isArray(result[lcname])) {\n result[lcname].push(value);\n } else {\n result[lcname] = [\n result[lcname],\n value\n ];\n }\n } else {\n result[lcname] = value;\n }\n }\n return [result, value, valuePos];\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.parse so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @function ICAL.parse._rfc6868Escape\n * @param {String} val The value to escape\n * @return {String} The escaped value\n */\n parser._rfc6868Escape = function(val) {\n return val.replace(/\\^['n^]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { \"^'\": '\"', \"^n\": \"\\n\", \"^^\": \"^\" };\n\n /**\n * Parse a multi value string. This function is used either for parsing\n * actual multi-value property's values, or for handling parameter values. It\n * can be used for both multi-value properties and structured value properties.\n *\n * @private\n * @function ICAL.parse._parseMultiValue\n * @param {String} buffer The buffer containing the full value\n * @param {String} delim The multi-value delimiter\n * @param {String} type The value type to be parsed\n * @param {Array.<?>} result The array to append results to, varies on value type\n * @param {String} innerMulti The inner delimiter to split each value with\n * @param {ICAL.design.designSet} designSet The design data for this value\n * @return {?|Array.<?>} Either an array of results, or the first result\n */\n parser._parseMultiValue = function(buffer, delim, type, result, innerMulti, designSet, structuredValue) {\n var pos = 0;\n var lastPos = 0;\n var value;\n if (delim.length === 0) {\n return buffer;\n }\n\n // split each piece\n while ((pos = helpers.unescapedIndexOf(buffer, delim, lastPos)) !== -1) {\n value = buffer.substr(lastPos, pos - lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n lastPos = pos + delim.length;\n }\n\n // on the last piece take the rest of string\n value = buffer.substr(lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n\n return result.length == 1 ? result[0] : result;\n };\n\n /**\n * Process a complete buffer of iCalendar/vCard data line by line, correctly\n * unfolding content. Each line will be processed with the given callback\n *\n * @private\n * @function ICAL.parse._eachLine\n * @param {String} buffer The buffer to process\n * @param {function(?String, String)} callback The callback for each line\n */\n parser._eachLine = function(buffer, callback) {\n var len = buffer.length;\n var lastPos = buffer.search(CHAR);\n var pos = lastPos;\n var line;\n var firstChar;\n\n var newlineOffset;\n\n do {\n pos = buffer.indexOf('\\n', lastPos) + 1;\n\n if (pos > 1 && buffer[pos - 2] === '\\r') {\n newlineOffset = 2;\n } else {\n newlineOffset = 1;\n }\n\n if (pos === 0) {\n pos = len;\n newlineOffset = 0;\n }\n\n firstChar = buffer[lastPos];\n\n if (firstChar === ' ' || firstChar === '\\t') {\n // add to line\n line += buffer.substr(\n lastPos + 1,\n pos - lastPos - (newlineOffset + 1)\n );\n } else {\n if (line)\n callback(null, line);\n // push line\n line = buffer.substr(\n lastPos,\n pos - lastPos - newlineOffset\n );\n }\n\n lastPos = pos;\n } while (pos !== len);\n\n // extra ending line\n line = line.trim();\n\n if (line.length)\n callback(null, line);\n };\n\n return parser;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Component = (function() {\n 'use strict';\n\n var PROPERTY_INDEX = 1;\n var COMPONENT_INDEX = 2;\n var NAME_INDEX = 0;\n\n /**\n * @classdesc\n * Wraps a jCal component, adding convenience methods to add, remove and\n * update subcomponents and properties.\n *\n * @class\n * @alias ICAL.Component\n * @param {Array|String} jCal Raw jCal component data OR name of new\n * component\n * @param {ICAL.Component} parent Parent component to associate\n */\n function Component(jCal, parent) {\n if (typeof(jCal) === 'string') {\n // jCal spec (name, properties, components)\n jCal = [jCal, [], []];\n }\n\n // mostly for legacy reasons.\n this.jCal = jCal;\n\n this.parent = parent || null;\n }\n\n Component.prototype = {\n /**\n * Hydrated properties are inserted into the _properties array at the same\n * position as in the jCal array, so its possible the array contains\n * undefined values for unhydrdated properties. To avoid iterating the\n * array when checking if all properties have been hydrated, we save the\n * count here.\n *\n * @type {Number}\n * @private\n */\n _hydratedPropertyCount: 0,\n\n /**\n * The same count as for _hydratedPropertyCount, but for subcomponents\n *\n * @type {Number}\n * @private\n */\n _hydratedComponentCount: 0,\n\n /**\n * The name of this component\n * @readonly\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The design set for this component, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n var parentDesign = this.parent && this.parent._designSet;\n return parentDesign || ICAL.design.getDesignSet(this.name);\n },\n\n _hydrateComponent: function(index) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (this._components[index]) {\n return this._components[index];\n }\n\n var comp = new Component(\n this.jCal[COMPONENT_INDEX][index],\n this\n );\n\n this._hydratedComponentCount++;\n return (this._components[index] = comp);\n },\n\n _hydrateProperty: function(index) {\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (this._properties[index]) {\n return this._properties[index];\n }\n\n var prop = new ICAL.Property(\n this.jCal[PROPERTY_INDEX][index],\n this\n );\n\n this._hydratedPropertyCount++;\n return (this._properties[index] = prop);\n },\n\n /**\n * Finds first sub component, optionally filtered by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {?ICAL.Component} The found subcomponent\n */\n getFirstSubcomponent: function(name) {\n if (name) {\n var i = 0;\n var comps = this.jCal[COMPONENT_INDEX];\n var len = comps.length;\n\n for (; i < len; i++) {\n if (comps[i][NAME_INDEX] === name) {\n var result = this._hydrateComponent(i);\n return result;\n }\n }\n } else {\n if (this.jCal[COMPONENT_INDEX].length) {\n return this._hydrateComponent(0);\n }\n }\n\n // ensure we return a value (strict mode)\n return null;\n },\n\n /**\n * Finds all sub components, optionally filtering by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {ICAL.Component[]} The found sub components\n */\n getAllSubcomponents: function(name) {\n var jCalLen = this.jCal[COMPONENT_INDEX].length;\n var i = 0;\n\n if (name) {\n var comps = this.jCal[COMPONENT_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === comps[i][NAME_INDEX]) {\n result.push(\n this._hydrateComponent(i)\n );\n }\n }\n return result;\n } else {\n if (!this._components ||\n (this._hydratedComponentCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateComponent(i);\n }\n }\n\n return this._components || [];\n }\n },\n\n /**\n * Returns true when a named property exists.\n *\n * @param {String} name The property name\n * @return {Boolean} True, when property is found\n */\n hasProperty: function(name) {\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n var i = 0;\n for (; i < len; i++) {\n // 0 is property name\n if (props[i][NAME_INDEX] === name) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Finds the first property, optionally with the given name.\n *\n * @param {String=} name Lowercase property name\n * @return {?ICAL.Property} The found property\n */\n getFirstProperty: function(name) {\n if (name) {\n var i = 0;\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n for (; i < len; i++) {\n if (props[i][NAME_INDEX] === name) {\n var result = this._hydrateProperty(i);\n return result;\n }\n }\n } else {\n if (this.jCal[PROPERTY_INDEX].length) {\n return this._hydrateProperty(0);\n }\n }\n\n return null;\n },\n\n /**\n * Returns first property's value, if available.\n *\n * @param {String=} name Lowercase property name\n * @return {?String} The found property value.\n */\n getFirstPropertyValue: function(name) {\n var prop = this.getFirstProperty(name);\n if (prop) {\n return prop.getFirstValue();\n }\n\n return null;\n },\n\n /**\n * Get all properties in the component, optionally filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {ICAL.Property[]} List of properties\n */\n getAllProperties: function(name) {\n var jCalLen = this.jCal[PROPERTY_INDEX].length;\n var i = 0;\n\n if (name) {\n var props = this.jCal[PROPERTY_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === props[i][NAME_INDEX]) {\n result.push(\n this._hydrateProperty(i)\n );\n }\n }\n return result;\n } else {\n if (!this._properties ||\n (this._hydratedPropertyCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateProperty(i);\n }\n }\n\n return this._properties || [];\n }\n },\n\n _removeObjectByIndex: function(jCalIndex, cache, index) {\n cache = cache || [];\n // remove cached version\n if (cache[index]) {\n var obj = cache[index];\n if (\"parent\" in obj) {\n obj.parent = null;\n }\n }\n\n cache.splice(index, 1);\n\n // remove it from the jCal\n this.jCal[jCalIndex].splice(index, 1);\n },\n\n _removeObject: function(jCalIndex, cache, nameOrObject) {\n var i = 0;\n var objects = this.jCal[jCalIndex];\n var len = objects.length;\n var cached = this[cache];\n\n if (typeof(nameOrObject) === 'string') {\n for (; i < len; i++) {\n if (objects[i][NAME_INDEX] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n } else if (cached) {\n for (; i < len; i++) {\n if (cached[i] && cached[i] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n }\n\n return false;\n },\n\n _removeAllObjects: function(jCalIndex, cache, name) {\n var cached = this[cache];\n\n // Unfortunately we have to run through all children to reset their\n // parent property.\n var objects = this.jCal[jCalIndex];\n var i = objects.length - 1;\n\n // descending search required because splice\n // is used and will effect the indices.\n for (; i >= 0; i--) {\n if (!name || objects[i][NAME_INDEX] === name) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n }\n }\n },\n\n /**\n * Adds a single sub component.\n *\n * @param {ICAL.Component} component The component to add\n * @return {ICAL.Component} The passed in component\n */\n addSubcomponent: function(component) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (component.parent) {\n component.parent.removeSubcomponent(component);\n }\n\n var idx = this.jCal[COMPONENT_INDEX].push(component.jCal);\n this._components[idx - 1] = component;\n this._hydratedComponentCount++;\n component.parent = this;\n return component;\n },\n\n /**\n * Removes a single component by name or the instance of a specific\n * component.\n *\n * @param {ICAL.Component|String} nameOrComp Name of component, or component\n * @return {Boolean} True when comp is removed\n */\n removeSubcomponent: function(nameOrComp) {\n var removed = this._removeObject(COMPONENT_INDEX, '_components', nameOrComp);\n if (removed) {\n this._hydratedComponentCount--;\n }\n return removed;\n },\n\n /**\n * Removes all components or (if given) all components by a particular\n * name.\n *\n * @param {String=} name Lowercase component name\n */\n removeAllSubcomponents: function(name) {\n var removed = this._removeAllObjects(COMPONENT_INDEX, '_components', name);\n this._hydratedComponentCount = 0;\n return removed;\n },\n\n /**\n * Adds an {@link ICAL.Property} to the component.\n *\n * @param {ICAL.Property} property The property to add\n * @return {ICAL.Property} The passed in property\n */\n addProperty: function(property) {\n if (!(property instanceof ICAL.Property)) {\n throw new TypeError('must instance of ICAL.Property');\n }\n\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (property.parent) {\n property.parent.removeProperty(property);\n }\n\n var idx = this.jCal[PROPERTY_INDEX].push(property.jCal);\n this._properties[idx - 1] = property;\n this._hydratedPropertyCount++;\n property.parent = this;\n return property;\n },\n\n /**\n * Helper method to add a property with a value to the component.\n *\n * @param {String} name Property name to add\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n addPropertyWithValue: function(name, value) {\n var prop = new ICAL.Property(name);\n prop.setValue(value);\n\n this.addProperty(prop);\n\n return prop;\n },\n\n /**\n * Helper method that will update or create a property of the given name\n * and sets its value. If multiple properties with the given name exist,\n * only the first is updated.\n *\n * @param {String} name Property name to update\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n updatePropertyWithValue: function(name, value) {\n var prop = this.getFirstProperty(name);\n\n if (prop) {\n prop.setValue(value);\n } else {\n prop = this.addPropertyWithValue(name, value);\n }\n\n return prop;\n },\n\n /**\n * Removes a single property by name or the instance of the specific\n * property.\n *\n * @param {String|ICAL.Property} nameOrProp Property name or instance to remove\n * @return {Boolean} True, when deleted\n */\n removeProperty: function(nameOrProp) {\n var removed = this._removeObject(PROPERTY_INDEX, '_properties', nameOrProp);\n if (removed) {\n this._hydratedPropertyCount--;\n }\n return removed;\n },\n\n /**\n * Removes all properties associated with this component, optionally\n * filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Boolean} True, when deleted\n */\n removeAllProperties: function(name) {\n var removed = this._removeAllObjects(PROPERTY_INDEX, '_properties', name);\n this._hydratedPropertyCount = 0;\n return removed;\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toString: function() {\n return ICAL.stringify.component(\n this.jCal, this._designSet\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Component} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n */\n Component.fromString = function(str) {\n return new Component(ICAL.parse.component(str));\n };\n\n return Component;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Property = (function() {\n 'use strict';\n\n var NAME_INDEX = 0;\n var PROP_INDEX = 1;\n var TYPE_INDEX = 2;\n var VALUE_INDEX = 3;\n\n var design = ICAL.design;\n\n /**\n * @classdesc\n * Provides a layer on top of the raw jCal object for manipulating a single\n * property, with its parameters and value.\n *\n * @description\n * Its important to note that mutations done in the wrapper\n * directly mutate the jCal object used to initialize.\n *\n * Can also be used to create new properties by passing\n * the name of the property (as a String).\n *\n * @class\n * @alias ICAL.Property\n * @param {Array|String} jCal Raw jCal representation OR\n * the new name of the property\n *\n * @param {ICAL.Component=} parent Parent component\n */\n function Property(jCal, parent) {\n this._parent = parent || null;\n\n if (typeof(jCal) === 'string') {\n // We are creating the property by name and need to detect the type\n this.jCal = [jCal, {}, design.defaultType];\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n } else {\n this.jCal = jCal;\n }\n this._updateType();\n }\n\n Property.prototype = {\n\n /**\n * The value type for this property\n * @readonly\n * @type {String}\n */\n get type() {\n return this.jCal[TYPE_INDEX];\n },\n\n /**\n * The name of this property, in lowercase.\n * @readonly\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The parent component for this property.\n * @type {ICAL.Component}\n */\n get parent() {\n return this._parent;\n },\n\n set parent(p) {\n // Before setting the parent, check if the design set has changed. If it\n // has, we later need to update the type if it was unknown before.\n var designSetChanged = !this._parent || (p && p._designSet != this._parent._designSet);\n\n this._parent = p;\n\n if (this.type == design.defaultType && designSetChanged) {\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n this._updateType();\n }\n\n return p;\n },\n\n /**\n * The design set for this property, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n return this.parent ? this.parent._designSet : design.defaultSet;\n },\n\n /**\n * Updates the type metadata from the current jCal type and design set.\n *\n * @private\n */\n _updateType: function() {\n var designSet = this._designSet;\n\n if (this.type in designSet.value) {\n var designType = designSet.value[this.type];\n\n if ('decorate' in designSet.value[this.type]) {\n this.isDecorated = true;\n } else {\n this.isDecorated = false;\n }\n\n if (this.name in designSet.property) {\n this.isMultiValue = ('multiValue' in designSet.property[this.name]);\n this.isStructuredValue = ('structuredValue' in designSet.property[this.name]);\n }\n }\n },\n\n /**\n * Hydrate a single value. The act of hydrating means turning the raw jCal\n * value into a potentially wrapped object, for example {@link ICAL.Time}.\n *\n * @private\n * @param {Number} index The index of the value to hydrate\n * @return {Object} The decorated value.\n */\n _hydrateValue: function(index) {\n if (this._values && this._values[index]) {\n return this._values[index];\n }\n\n // for the case where there is no value.\n if (this.jCal.length <= (VALUE_INDEX + index)) {\n return null;\n }\n\n if (this.isDecorated) {\n if (!this._values) {\n this._values = [];\n }\n return (this._values[index] = this._decorate(\n this.jCal[VALUE_INDEX + index]\n ));\n } else {\n return this.jCal[VALUE_INDEX + index];\n }\n },\n\n /**\n * Decorate a single value, returning its wrapped object. This is used by\n * the hydrate function to actually wrap the value.\n *\n * @private\n * @param {?} value The value to decorate\n * @return {Object} The decorated value\n */\n _decorate: function(value) {\n return this._designSet.value[this.type].decorate(value, this);\n },\n\n /**\n * Undecorate a single value, returning its raw jCal data.\n *\n * @private\n * @param {Object} value The value to undecorate\n * @return {?} The undecorated value\n */\n _undecorate: function(value) {\n return this._designSet.value[this.type].undecorate(value, this);\n },\n\n /**\n * Sets the value at the given index while also hydrating it. The passed\n * value can either be a decorated or undecorated value.\n *\n * @private\n * @param {?} value The value to set\n * @param {Number} index The index to set it at\n */\n _setDecoratedValue: function(value, index) {\n if (!this._values) {\n this._values = [];\n }\n\n if (typeof(value) === 'object' && 'icaltype' in value) {\n // decorated value\n this.jCal[VALUE_INDEX + index] = this._undecorate(value);\n this._values[index] = value;\n } else {\n // undecorated value\n this.jCal[VALUE_INDEX + index] = value;\n this._values[index] = this._decorate(value);\n }\n },\n\n /**\n * Gets a parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {Array|String} Property value\n */\n getParameter: function(name) {\n if (name in this.jCal[PROP_INDEX]) {\n return this.jCal[PROP_INDEX][name];\n } else {\n return undefined;\n }\n },\n\n /**\n * Gets first parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {String} Property value\n */\n getFirstParameter: function(name) {\n var parameters = this.getParameter(name);\n\n if (Array.isArray(parameters)) {\n return parameters[0];\n }\n\n return parameters;\n },\n\n /**\n * Sets a parameter on the property.\n *\n * @param {String} name The parameter name\n * @param {Array|String} value The parameter value\n */\n setParameter: function(name, value) {\n var lcname = name.toLowerCase();\n if (typeof value === \"string\" &&\n lcname in this._designSet.param &&\n 'multiValue' in this._designSet.param[lcname]) {\n value = [value];\n }\n this.jCal[PROP_INDEX][name] = value;\n },\n\n /**\n * Removes a parameter\n *\n * @param {String} name The parameter name\n */\n removeParameter: function(name) {\n delete this.jCal[PROP_INDEX][name];\n },\n\n /**\n * Get the default type based on this property's name.\n *\n * @return {String} The default type for this property\n */\n getDefaultType: function() {\n var name = this.jCal[NAME_INDEX];\n var designSet = this._designSet;\n\n if (name in designSet.property) {\n var details = designSet.property[name];\n if ('defaultType' in details) {\n return details.defaultType;\n }\n }\n return design.defaultType;\n },\n\n /**\n * Sets type of property and clears out any existing values of the current\n * type.\n *\n * @param {String} type New iCAL type (see design.*.values)\n */\n resetType: function(type) {\n this.removeAllValues();\n this.jCal[TYPE_INDEX] = type;\n this._updateType();\n },\n\n /**\n * Finds the first property value.\n *\n * @return {String} First property value\n */\n getFirstValue: function() {\n return this._hydrateValue(0);\n },\n\n /**\n * Gets all values on the property.\n *\n * NOTE: this creates an array during each call.\n *\n * @return {Array} List of values\n */\n getValues: function() {\n var len = this.jCal.length - VALUE_INDEX;\n\n if (len < 1) {\n // its possible for a property to have no value.\n return [];\n }\n\n var i = 0;\n var result = [];\n\n for (; i < len; i++) {\n result[i] = this._hydrateValue(i);\n }\n\n return result;\n },\n\n /**\n * Removes all values from this property\n */\n removeAllValues: function() {\n if (this._values) {\n this._values.length = 0;\n }\n this.jCal.length = 3;\n },\n\n /**\n * Sets the values of the property. Will overwrite the existing values.\n * This can only be used for multi-value properties.\n *\n * @param {Array} values An array of values\n */\n setValues: function(values) {\n if (!this.isMultiValue) {\n throw new Error(\n this.name + ': does not not support mulitValue.\\n' +\n 'override isMultiValue'\n );\n }\n\n var len = values.length;\n var i = 0;\n this.removeAllValues();\n\n if (len > 0 &&\n typeof(values[0]) === 'object' &&\n 'icaltype' in values[0]) {\n this.resetType(values[0].icaltype);\n }\n\n if (this.isDecorated) {\n for (; i < len; i++) {\n this._setDecoratedValue(values[i], i);\n }\n } else {\n for (; i < len; i++) {\n this.jCal[VALUE_INDEX + i] = values[i];\n }\n }\n },\n\n /**\n * Sets the current value of the property. If this is a multi-value\n * property, all other values will be removed.\n *\n * @param {String|Object} value New property value.\n */\n setValue: function(value) {\n this.removeAllValues();\n if (typeof(value) === 'object' && 'icaltype' in value) {\n this.resetType(value.icaltype);\n }\n\n if (this.isDecorated) {\n this._setDecoratedValue(value, 0);\n } else {\n this.jCal[VALUE_INDEX] = value;\n }\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.stringify.property(\n this.jCal, this._designSet, true\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Property} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n * @param {ICAL.design.designSet=} designSet The design data to use for this property\n * @return {ICAL.Property} The created iCalendar property\n */\n Property.fromString = function(str, designSet) {\n return new Property(ICAL.parse.property(str, designSet));\n };\n\n return Property;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.UtcOffset = (function() {\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.UtcOffset\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n function UtcOffset(aData) {\n this.fromData(aData);\n }\n\n UtcOffset.prototype = {\n\n /**\n * The hours in the utc-offset\n * @type {Number}\n */\n hours: 0,\n\n /**\n * The minutes in the utc-offset\n * @type {Number}\n */\n minutes: 0,\n\n /**\n * The sign of the utc offset, 1 for positive offset, -1 for negative\n * offsets.\n * @type {Number}\n */\n factor: 1,\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"utc-offset\"\n */\n icaltype: \"utc-offset\",\n\n /**\n * Returns a clone of the utc offset object.\n *\n * @return {ICAL.UtcOffset} The cloned object\n */\n clone: function() {\n return ICAL.UtcOffset.fromSeconds(this.toSeconds());\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n fromData: function(aData) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (aData.hasOwnProperty(key)) {\n this[key] = aData[key];\n }\n }\n }\n this._normalize();\n },\n\n /**\n * Sets up the current instance from the given seconds value. The seconds\n * value is truncated to the minute. Offsets are wrapped when the world\n * ends, the hour after UTC+14:00 is UTC-12:00.\n *\n * @param {Number} aSeconds The seconds to convert into an offset\n */\n fromSeconds: function(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.factor = aSeconds < 0 ? -1 : 1;\n this.hours = ICAL.helpers.trunc(secs / 3600);\n\n secs -= (this.hours * 3600);\n this.minutes = ICAL.helpers.trunc(secs / 60);\n return this;\n },\n\n /**\n * Convert the current offset to a value in seconds\n *\n * @return {Number} The offset in seconds\n */\n toSeconds: function() {\n return this.factor * (60 * this.minutes + 3600 * this.hours);\n },\n\n /**\n * Compare this utc offset with another one.\n *\n * @param {ICAL.UtcOffset} other The other offset to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toSeconds();\n var b = other.toSeconds();\n return (a > b) - (b > a);\n },\n\n _normalize: function() {\n // Range: 97200 seconds (with 1 hour inbetween)\n var secs = this.toSeconds();\n var factor = this.factor;\n while (secs < -43200) { // = UTC-12:00\n secs += 97200;\n }\n while (secs > 50400) { // = UTC+14:00\n secs -= 97200;\n }\n\n this.fromSeconds(secs);\n\n // Avoid changing the factor when on zero seconds\n if (secs == 0) {\n this.factor = factor;\n }\n },\n\n /**\n * The iCalendar string representation of this utc-offset.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.design.icalendar.value['utc-offset'].toICAL(this.toString());\n },\n\n /**\n * The string representation of this utc-offset.\n * @return {String}\n */\n toString: function toString() {\n return (this.factor == 1 ? \"+\" : \"-\") +\n ICAL.helpers.pad2(this.hours) + ':' +\n ICAL.helpers.pad2(this.minutes);\n }\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed string.\n *\n * @param {String} aString The string to parse\n * @return {ICAL.Duration} The created utc-offset instance\n */\n UtcOffset.fromString = function(aString) {\n // -05:00\n var options = {};\n //TODO: support seconds per rfc5545 ?\n options.factor = (aString[0] === '+') ? 1 : -1;\n options.hours = ICAL.helpers.strictParseInt(aString.substr(1, 2));\n options.minutes = ICAL.helpers.strictParseInt(aString.substr(4, 2));\n\n return new ICAL.UtcOffset(options);\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed seconds\n * value.\n *\n * @param {Number} aSeconds The number of seconds to convert\n */\n UtcOffset.fromSeconds = function(aSeconds) {\n var instance = new UtcOffset();\n instance.fromSeconds(aSeconds);\n return instance;\n };\n\n return UtcOffset;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Binary = (function() {\n\n /**\n * @classdesc\n * Represents the BINARY value type, which contains extra methods for\n * encoding and decoding.\n *\n * @class\n * @alias ICAL.Binary\n * @param {String} aValue The binary data for this value\n */\n function Binary(aValue) {\n this.value = aValue;\n }\n\n Binary.prototype = {\n /**\n * The type name, to be used in the jCal object.\n * @default \"binary\"\n * @constant\n */\n icaltype: \"binary\",\n\n /**\n * Base64 decode the current value\n *\n * @return {String} The base64-decoded value\n */\n decodeValue: function decodeValue() {\n return this._b64_decode(this.value);\n },\n\n /**\n * Encodes the passed parameter with base64 and sets the internal\n * value to the result.\n *\n * @param {String} aValue The raw binary value to encode\n */\n setEncodedValue: function setEncodedValue(aValue) {\n this.value = this._b64_encode(aValue);\n },\n\n _b64_encode: function base64_encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: Rafał Kukawski (http://kukawski.pl)\n // * example 1: base64_encode('Kevin van Zonneveld');\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['atob'] == 'function') {\n // return atob(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n var r = data.length % 3;\n\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n\n },\n\n _b64_decode: function base64_decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['btoa'] == 'function') {\n // return btoa(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n dec = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do { // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n\n return dec;\n },\n\n /**\n * The string representation of this value\n * @return {String}\n */\n toString: function() {\n return this.value;\n }\n };\n\n /**\n * Creates a binary value from the given string.\n *\n * @param {String} aString The binary value string\n * @return {ICAL.Binary} The binary value instance\n */\n Binary.fromString = function(aString) {\n return new Binary(aString);\n };\n\n return Binary;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n /**\n * @classdesc\n * This class represents the \"period\" value type, with various calculation\n * and manipulation methods.\n *\n * @description\n * The passed data object cannot contain both and end date and a duration.\n *\n * @class\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n */\n ICAL.Period = function icalperiod(aData) {\n this.wrappedJSObject = this;\n\n if (aData && 'start' in aData) {\n if (aData.start && !(aData.start instanceof ICAL.Time)) {\n throw new TypeError('.start must be an instance of ICAL.Time');\n }\n this.start = aData.start;\n }\n\n if (aData && aData.end && aData.duration) {\n throw new Error('cannot accept both end and duration');\n }\n\n if (aData && 'end' in aData) {\n if (aData.end && !(aData.end instanceof ICAL.Time)) {\n throw new TypeError('.end must be an instance of ICAL.Time');\n }\n this.end = aData.end;\n }\n\n if (aData && 'duration' in aData) {\n if (aData.duration && !(aData.duration instanceof ICAL.Duration)) {\n throw new TypeError('.duration must be an instance of ICAL.Duration');\n }\n this.duration = aData.duration;\n }\n };\n\n ICAL.Period.prototype = {\n\n /**\n * The start of the period\n * @type {ICAL.Time}\n */\n start: null,\n\n /**\n * The end of the period\n * @type {ICAL.Time}\n */\n end: null,\n\n /**\n * The duration of the period\n * @type {ICAL.Duration}\n */\n duration: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalperiod\"\n */\n icalclass: \"icalperiod\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"period\"\n */\n icaltype: \"period\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Period} The cloned object\n */\n clone: function() {\n return ICAL.Period.fromData({\n start: this.start ? this.start.clone() : null,\n end: this.end ? this.end.clone() : null,\n duration: this.duration ? this.duration.clone() : null\n });\n },\n\n /**\n * Calculates the duration of the period, either directly or by subtracting\n * start from end date.\n *\n * @return {ICAL.Duration} The calculated duration\n */\n getDuration: function duration() {\n if (this.duration) {\n return this.duration;\n } else {\n return this.end.subtractDate(this.start);\n }\n },\n\n /**\n * Calculates the end date of the period, either directly or by adding\n * duration to start date.\n *\n * @return {ICAL.Time} The calculated end date\n */\n getEnd: function() {\n if (this.end) {\n return this.end;\n } else {\n var end = this.start.clone();\n end.addDuration(this.duration);\n return end;\n }\n },\n\n /**\n * The string representation of this period.\n * @return {String}\n */\n toString: function toString() {\n return this.start + \"/\" + (this.end || this.duration);\n },\n\n /**\n * The jCal representation of this period type.\n * @return {Object}\n */\n toJSON: function() {\n return [this.start.toString(), (this.end || this.duration).toString()];\n },\n\n /**\n * The iCalendar string representation of this period.\n * @return {String}\n */\n toICALString: function() {\n return this.start.toICALString() + \"/\" +\n (this.end || this.duration).toICALString();\n }\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the passed string.\n *\n * @param {String} str The string to parse\n * @param {ICAL.Property} prop The property this period will be on\n * @return {ICAL.Period} The created period instance\n */\n ICAL.Period.fromString = function fromString(str, prop) {\n var parts = str.split('/');\n\n if (parts.length !== 2) {\n throw new Error(\n 'Invalid string value: \"' + str + '\" must contain a \"/\" char.'\n );\n }\n\n var options = {\n start: ICAL.Time.fromDateTimeString(parts[0], prop)\n };\n\n var end = parts[1];\n\n if (ICAL.Duration.isValueString(end)) {\n options.duration = ICAL.Duration.fromString(end);\n } else {\n options.end = ICAL.Time.fromDateTimeString(end, prop);\n }\n\n return new ICAL.Period(options);\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the given data object.\n * The passed data object cannot contain both and end date and a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromData = function fromData(aData) {\n return new ICAL.Period(aData);\n };\n\n /**\n * Returns a new period instance from the given jCal data array. The first\n * member is always the start date string, the second member is either a\n * duration or end date string.\n *\n * @param {Array<String,String>} aData The jCal data array\n * @param {ICAL.Property} aProp The property this jCal data is on\n * @param {Boolean} aLenient If true, data value can be both date and date-time\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromJSON = function(aData, aProp, aLenient) {\n function fromDateOrDateTimeString(aValue, aProp) {\n if (aLenient) {\n return ICAL.Time.fromString(aValue, aProp);\n } else {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n }\n }\n\n if (ICAL.Duration.isValueString(aData[1])) {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n duration: ICAL.Duration.fromString(aData[1])\n });\n } else {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n end: fromDateOrDateTimeString(aData[1], aProp)\n });\n }\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DURATION_LETTERS = /([PDWHMTS]{1,1})/;\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Duration\n * @param {Object} data An object with members of the duration\n * @param {Number} data.weeks Duration in weeks\n * @param {Number} data.days Duration in days\n * @param {Number} data.hours Duration in hours\n * @param {Number} data.minutes Duration in minutes\n * @param {Number} data.seconds Duration in seconds\n * @param {Boolean} data.isNegative If true, the duration is negative\n */\n ICAL.Duration = function icalduration(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Duration.prototype = {\n /**\n * The weeks in this duration\n * @type {Number}\n * @default 0\n */\n weeks: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n days: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n hours: 0,\n\n /**\n * The minutes in this duration\n * @type {Number}\n * @default 0\n */\n minutes: 0,\n\n /**\n * The seconds in this duration\n * @type {Number}\n * @default 0\n */\n seconds: 0,\n\n /**\n * The seconds in this duration\n * @type {Boolean}\n * @default false\n */\n isNegative: false,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalduration\"\n */\n icalclass: \"icalduration\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"duration\"\n */\n icaltype: \"duration\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Duration} The cloned object\n */\n clone: function clone() {\n return ICAL.Duration.fromData(this);\n },\n\n /**\n * The duration value expressed as a number of seconds.\n *\n * @return {Number} The duration value in seconds\n */\n toSeconds: function toSeconds() {\n var seconds = this.seconds + 60 * this.minutes + 3600 * this.hours +\n 86400 * this.days + 7 * 86400 * this.weeks;\n return (this.isNegative ? -seconds : seconds);\n },\n\n /**\n * Reads the passed seconds value into this duration object. Afterwards,\n * members like {@link ICAL.Duration#days days} and {@link ICAL.Duration#weeks weeks} will be set up\n * accordingly.\n *\n * @param {Number} aSeconds The duration value in seconds\n * @return {ICAL.Duration} Returns this instance\n */\n fromSeconds: function fromSeconds(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.isNegative = (aSeconds < 0);\n this.days = ICAL.helpers.trunc(secs / 86400);\n\n // If we have a flat number of weeks, use them.\n if (this.days % 7 == 0) {\n this.weeks = this.days / 7;\n this.days = 0;\n } else {\n this.weeks = 0;\n }\n\n secs -= (this.days + 7 * this.weeks) * 86400;\n\n this.hours = ICAL.helpers.trunc(secs / 3600);\n secs -= this.hours * 3600;\n\n this.minutes = ICAL.helpers.trunc(secs / 60);\n secs -= this.minutes * 60;\n\n this.seconds = secs;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n */\n fromData: function fromData(aData) {\n var propsToCopy = [\"weeks\", \"days\", \"hours\",\n \"minutes\", \"seconds\", \"isNegative\"];\n for (var key in propsToCopy) {\n /* istanbul ignore if */\n if (!propsToCopy.hasOwnProperty(key)) {\n continue;\n }\n var prop = propsToCopy[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n } else {\n this[prop] = 0;\n }\n }\n },\n\n /**\n * Resets the duration instance to the default values, i.e. PT0S\n */\n reset: function reset() {\n this.isNegative = false;\n this.weeks = 0;\n this.days = 0;\n this.hours = 0;\n this.minutes = 0;\n this.seconds = 0;\n },\n\n /**\n * Compares the duration instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function compare(aOther) {\n var thisSeconds = this.toSeconds();\n var otherSeconds = aOther.toSeconds();\n return (thisSeconds > otherSeconds) - (thisSeconds < otherSeconds);\n },\n\n /**\n * Normalizes the duration instance. For example, a duration with a value\n * of 61 seconds will be normalized to 1 minute and 1 second.\n */\n normalize: function normalize() {\n this.fromSeconds(this.toSeconds());\n },\n\n /**\n * The string representation of this duration.\n * @return {String}\n */\n toString: function toString() {\n if (this.toSeconds() == 0) {\n return \"PT0S\";\n } else {\n var str = \"\";\n if (this.isNegative) str += \"-\";\n str += \"P\";\n if (this.weeks) str += this.weeks + \"W\";\n if (this.days) str += this.days + \"D\";\n\n if (this.hours || this.minutes || this.seconds) {\n str += \"T\";\n if (this.hours) str += this.hours + \"H\";\n if (this.minutes) str += this.minutes + \"M\";\n if (this.seconds) str += this.seconds + \"S\";\n }\n return str;\n }\n },\n\n /**\n * The iCalendar string representation of this duration.\n * @return {String}\n */\n toICALString: function() {\n return this.toString();\n }\n };\n\n /**\n * Returns a new ICAL.Duration instance from the passed seconds value.\n *\n * @param {Number} aSeconds The seconds to create the instance from\n * @return {ICAL.Duration} The newly created duration instance\n */\n ICAL.Duration.fromSeconds = function icalduration_from_seconds(aSeconds) {\n return (new ICAL.Duration()).fromSeconds(aSeconds);\n };\n\n /**\n * Internal helper function to handle a chunk of a duration.\n *\n * @param {String} letter type of duration chunk\n * @param {String} number numeric value or -/+\n * @param {Object} dict target to assign values to\n */\n function parseDurationChunk(letter, number, object) {\n var type;\n switch (letter) {\n case 'P':\n if (number && number === '-') {\n object.isNegative = true;\n } else {\n object.isNegative = false;\n }\n // period\n break;\n case 'D':\n type = 'days';\n break;\n case 'W':\n type = 'weeks';\n break;\n case 'H':\n type = 'hours';\n break;\n case 'M':\n type = 'minutes';\n break;\n case 'S':\n type = 'seconds';\n break;\n default:\n // Not a valid chunk\n return 0;\n }\n\n if (type) {\n if (!number && number !== 0) {\n throw new Error(\n 'invalid duration value: Missing number before \"' + letter + '\"'\n );\n }\n var num = parseInt(number, 10);\n if (ICAL.helpers.isStrictlyNaN(num)) {\n throw new Error(\n 'invalid duration value: Invalid number \"' + number + '\" before \"' + letter + '\"'\n );\n }\n object[type] = num;\n }\n\n return 1;\n }\n\n /**\n * Checks if the given string is an iCalendar duration value.\n *\n * @param {String} value The raw ical value\n * @return {Boolean} True, if the given value is of the\n * duration ical type\n */\n ICAL.Duration.isValueString = function(string) {\n return (string[0] === 'P' || string[1] === 'P');\n };\n\n /**\n * Creates a new {@link ICAL.Duration} instance from the passed string.\n *\n * @param {String} aStr The string to parse\n * @return {ICAL.Duration} The created duration instance\n */\n ICAL.Duration.fromString = function icalduration_from_string(aStr) {\n var pos = 0;\n var dict = Object.create(null);\n var chunks = 0;\n\n while ((pos = aStr.search(DURATION_LETTERS)) !== -1) {\n var type = aStr[pos];\n var numeric = aStr.substr(0, pos);\n aStr = aStr.substr(pos + 1);\n\n chunks += parseDurationChunk(type, numeric, dict);\n }\n\n if (chunks < 2) {\n // There must be at least a chunk with \"P\" and some unit chunk\n throw new Error(\n 'invalid duration value: Not enough duration components in \"' + aStr + '\"'\n );\n }\n\n return new ICAL.Duration(dict);\n };\n\n /**\n * Creates a new ICAL.Duration instance from the given data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n * @return {ICAL.Duration} The createad duration instance\n */\n ICAL.Duration.fromData = function icalduration_from_data(aData) {\n return new ICAL.Duration(aData);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2012 */\n\n\n\n(function() {\n var OPTIONS = [\"tzid\", \"location\", \"tznames\",\n \"latitude\", \"longitude\"];\n\n /**\n * @classdesc\n * Timezone representation, created by passing in a tzid and component.\n *\n * @example\n * var vcalendar;\n * var timezoneComp = vcalendar.getFirstSubcomponent('vtimezone');\n * var tzid = timezoneComp.getFirstPropertyValue('tzid');\n *\n * var timezone = new ICAL.Timezone({\n * component: timezoneComp,\n * tzid\n * });\n *\n * @class\n * @param {ICAL.Component|Object} data options for class\n * @param {String|ICAL.Component} data.component\n * If data is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} data.tzid The timezone identifier\n * @param {String} data.location The timezone locationw\n * @param {String} data.tznames An alternative string representation of the\n * timezone\n * @param {Number} data.latitude The latitude of the timezone\n * @param {Number} data.longitude The longitude of the timezone\n */\n ICAL.Timezone = function icaltimezone(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Timezone.prototype = {\n\n /**\n * Timezone identifier\n * @type {String}\n */\n tzid: \"\",\n\n /**\n * Timezone location\n * @type {String}\n */\n location: \"\",\n\n /**\n * Alternative timezone name, for the string representation\n * @type {String}\n */\n tznames: \"\",\n\n /**\n * The primary latitude for the timezone.\n * @type {Number}\n */\n latitude: 0.0,\n\n /**\n * The primary longitude for the timezone.\n * @type {Number}\n */\n longitude: 0.0,\n\n /**\n * The vtimezone component for this timezone.\n * @type {ICAL.Component}\n */\n component: null,\n\n /**\n * The year this timezone has been expanded to. All timezone transition\n * dates until this year are known and can be used for calculation\n *\n * @private\n * @type {Number}\n */\n expandedUntilYear: 0,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltimezone\"\n */\n icalclass: \"icaltimezone\",\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n fromData: function fromData(aData) {\n this.expandedUntilYear = 0;\n this.changes = [];\n\n if (aData instanceof ICAL.Component) {\n // Either a component is passed directly\n this.component = aData;\n } else {\n // Otherwise the component may be in the data object\n if (aData && \"component\" in aData) {\n if (typeof aData.component == \"string\") {\n // If a string was passed, parse it as a component\n var jCal = ICAL.parse(aData.component);\n this.component = new ICAL.Component(jCal);\n } else if (aData.component instanceof ICAL.Component) {\n // If it was a component already, then just set it\n this.component = aData.component;\n } else {\n // Otherwise just null out the component\n this.component = null;\n }\n }\n\n // Copy remaining passed properties\n for (var key in OPTIONS) {\n /* istanbul ignore else */\n if (OPTIONS.hasOwnProperty(key)) {\n var prop = OPTIONS[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n }\n }\n }\n }\n\n // If we have a component but no TZID, attempt to get it from the\n // component's properties.\n if (this.component instanceof ICAL.Component && !this.tzid) {\n this.tzid = this.component.getFirstPropertyValue('tzid');\n }\n\n return this;\n },\n\n /**\n * Finds the utcOffset the given time would occur in this timezone.\n *\n * @param {ICAL.Time} tt The time to check for\n * @return {Number} utc offset in seconds\n */\n utcOffset: function utcOffset(tt) {\n if (this == ICAL.Timezone.utcTimezone || this == ICAL.Timezone.localTimezone) {\n return 0;\n }\n\n this._ensureCoverage(tt.year);\n\n if (!this.changes.length) {\n return 0;\n }\n\n var tt_change = {\n year: tt.year,\n month: tt.month,\n day: tt.day,\n hour: tt.hour,\n minute: tt.minute,\n second: tt.second\n };\n\n var change_num = this._findNearbyChange(tt_change);\n var change_num_to_use = -1;\n var step = 1;\n\n // TODO: replace with bin search?\n for (;;) {\n var change = ICAL.helpers.clone(this.changes[change_num], true);\n if (change.utcOffset < change.prevUtcOffset) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0, change.utcOffset);\n } else {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n change.prevUtcOffset);\n }\n\n var cmp = ICAL.Timezone._compare_change_fn(tt_change, change);\n\n if (cmp >= 0) {\n change_num_to_use = change_num;\n } else {\n step = -1;\n }\n\n if (step == -1 && change_num_to_use != -1) {\n break;\n }\n\n change_num += step;\n\n if (change_num < 0) {\n return 0;\n }\n\n if (change_num >= this.changes.length) {\n break;\n }\n }\n\n var zone_change = this.changes[change_num_to_use];\n var utcOffset_change = zone_change.utcOffset - zone_change.prevUtcOffset;\n\n if (utcOffset_change < 0 && change_num_to_use > 0) {\n var tmp_change = ICAL.helpers.clone(zone_change, true);\n ICAL.Timezone.adjust_change(tmp_change, 0, 0, 0,\n tmp_change.prevUtcOffset);\n\n if (ICAL.Timezone._compare_change_fn(tt_change, tmp_change) < 0) {\n var prev_zone_change = this.changes[change_num_to_use - 1];\n\n var want_daylight = false; // TODO\n\n if (zone_change.is_daylight != want_daylight &&\n prev_zone_change.is_daylight == want_daylight) {\n zone_change = prev_zone_change;\n }\n }\n }\n\n // TODO return is_daylight?\n return zone_change.utcOffset;\n },\n\n _findNearbyChange: function icaltimezone_find_nearby_change(change) {\n // find the closest match\n var idx = ICAL.helpers.binsearchInsert(\n this.changes,\n change,\n ICAL.Timezone._compare_change_fn\n );\n\n if (idx >= this.changes.length) {\n return this.changes.length - 1;\n }\n\n return idx;\n },\n\n _ensureCoverage: function(aYear) {\n if (ICAL.Timezone._minimumExpansionYear == -1) {\n var today = ICAL.Time.now();\n ICAL.Timezone._minimumExpansionYear = today.year;\n }\n\n var changesEndYear = aYear;\n if (changesEndYear < ICAL.Timezone._minimumExpansionYear) {\n changesEndYear = ICAL.Timezone._minimumExpansionYear;\n }\n\n changesEndYear += ICAL.Timezone.EXTRA_COVERAGE;\n\n if (changesEndYear > ICAL.Timezone.MAX_YEAR) {\n changesEndYear = ICAL.Timezone.MAX_YEAR;\n }\n\n if (!this.changes.length || this.expandedUntilYear < aYear) {\n var subcomps = this.component.getAllSubcomponents();\n var compLen = subcomps.length;\n var compIdx = 0;\n\n for (; compIdx < compLen; compIdx++) {\n this._expandComponent(\n subcomps[compIdx], changesEndYear, this.changes\n );\n }\n\n this.changes.sort(ICAL.Timezone._compare_change_fn);\n this.expandedUntilYear = changesEndYear;\n }\n },\n\n _expandComponent: function(aComponent, aYear, changes) {\n if (!aComponent.hasProperty(\"dtstart\") ||\n !aComponent.hasProperty(\"tzoffsetto\") ||\n !aComponent.hasProperty(\"tzoffsetfrom\")) {\n return null;\n }\n\n var dtstart = aComponent.getFirstProperty(\"dtstart\").getFirstValue();\n var change;\n\n function convert_tzoffset(offset) {\n return offset.factor * (offset.hours * 3600 + offset.minutes * 60);\n }\n\n function init_changes() {\n var changebase = {};\n changebase.is_daylight = (aComponent.name == \"daylight\");\n changebase.utcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetto\").getFirstValue()\n );\n\n changebase.prevUtcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetfrom\").getFirstValue()\n );\n\n return changebase;\n }\n\n if (!aComponent.hasProperty(\"rrule\") && !aComponent.hasProperty(\"rdate\")) {\n change = init_changes();\n change.year = dtstart.year;\n change.month = dtstart.month;\n change.day = dtstart.day;\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n } else {\n var props = aComponent.getAllProperties(\"rdate\");\n for (var rdatekey in props) {\n /* istanbul ignore if */\n if (!props.hasOwnProperty(rdatekey)) {\n continue;\n }\n var rdate = props[rdatekey];\n var time = rdate.getFirstValue();\n change = init_changes();\n\n change.year = time.year;\n change.month = time.month;\n change.day = time.day;\n\n if (time.isDate) {\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n if (dtstart.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n } else {\n change.hour = time.hour;\n change.minute = time.minute;\n change.second = time.second;\n\n if (time.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n }\n\n changes.push(change);\n }\n\n var rrule = aComponent.getFirstProperty(\"rrule\");\n\n if (rrule) {\n rrule = rrule.getFirstValue();\n change = init_changes();\n\n if (rrule.until && rrule.until.zone == ICAL.Timezone.utcTimezone) {\n rrule.until.adjust(0, 0, 0, change.prevUtcOffset);\n rrule.until.zone = ICAL.Timezone.localTimezone;\n }\n\n var iterator = rrule.iterator(dtstart);\n\n var occ;\n while ((occ = iterator.next())) {\n change = init_changes();\n if (occ.year > aYear || !occ) {\n break;\n }\n\n change.year = occ.year;\n change.month = occ.month;\n change.day = occ.day;\n change.hour = occ.hour;\n change.minute = occ.minute;\n change.second = occ.second;\n change.isDate = occ.isDate;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n }\n }\n }\n\n return changes;\n },\n\n /**\n * The string representation of this timezone.\n * @return {String}\n */\n toString: function toString() {\n return (this.tznames ? this.tznames : this.tzid);\n }\n };\n\n ICAL.Timezone._compare_change_fn = function icaltimezone_compare_change_fn(a, b) {\n if (a.year < b.year) return -1;\n else if (a.year > b.year) return 1;\n\n if (a.month < b.month) return -1;\n else if (a.month > b.month) return 1;\n\n if (a.day < b.day) return -1;\n else if (a.day > b.day) return 1;\n\n if (a.hour < b.hour) return -1;\n else if (a.hour > b.hour) return 1;\n\n if (a.minute < b.minute) return -1;\n else if (a.minute > b.minute) return 1;\n\n if (a.second < b.second) return -1;\n else if (a.second > b.second) return 1;\n\n return 0;\n };\n\n /**\n * Convert the date/time from one zone to the next.\n *\n * @param {ICAL.Time} tt The time to convert\n * @param {ICAL.Timezone} from_zone The source zone to convert from\n * @param {ICAL.Timezone} to_zone The target zone to convert to\n * @return {ICAL.Time} The converted date/time object\n */\n ICAL.Timezone.convert_time = function icaltimezone_convert_time(tt, from_zone, to_zone) {\n if (tt.isDate ||\n from_zone.tzid == to_zone.tzid ||\n from_zone == ICAL.Timezone.localTimezone ||\n to_zone == ICAL.Timezone.localTimezone) {\n tt.zone = to_zone;\n return tt;\n }\n\n var utcOffset = from_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, - utcOffset);\n\n utcOffset = to_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, utcOffset);\n\n return null;\n };\n\n /**\n * Creates a new ICAL.Timezone instance from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n ICAL.Timezone.fromData = function icaltimezone_fromData(aData) {\n var tt = new ICAL.Timezone();\n return tt.fromData(aData);\n };\n\n /**\n * The instance describing the UTC timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.utcTimezone = ICAL.Timezone.fromData({\n tzid: \"UTC\"\n });\n\n /**\n * The instance describing the local timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.localTimezone = ICAL.Timezone.fromData({\n tzid: \"floating\"\n });\n\n /**\n * Adjust a timezone change object.\n * @private\n * @param {Object} change The timezone change object\n * @param {Number} days The extra amount of days\n * @param {Number} hours The extra amount of hours\n * @param {Number} minutes The extra amount of minutes\n * @param {Number} seconds The extra amount of seconds\n */\n ICAL.Timezone.adjust_change = function icaltimezone_adjust_change(change, days, hours, minutes, seconds) {\n return ICAL.Time.prototype.adjust.call(\n change,\n days,\n hours,\n minutes,\n seconds,\n change\n );\n };\n\n ICAL.Timezone._minimumExpansionYear = -1;\n ICAL.Timezone.MAX_YEAR = 2035; // TODO this is because of time_t, which we don't need. Still usefull?\n ICAL.Timezone.EXTRA_COVERAGE = 5;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.TimezoneService = (function() {\n var zones;\n\n /**\n * @classdesc\n * Singleton class to contain timezones. Right now its all manual registry in\n * the future we may use this class to download timezone information or handle\n * loading pre-expanded timezones.\n *\n * @namespace\n * @alias ICAL.TimezoneService\n */\n var TimezoneService = {\n get count() {\n return Object.keys(zones).length;\n },\n\n reset: function() {\n zones = Object.create(null);\n var utc = ICAL.Timezone.utcTimezone;\n\n zones.Z = utc;\n zones.UTC = utc;\n zones.GMT = utc;\n },\n\n /**\n * Checks if timezone id has been registered.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Boolean} False, when not present\n */\n has: function(tzid) {\n return !!zones[tzid];\n },\n\n /**\n * Returns a timezone by its tzid if present.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The timezone, or null if not found\n */\n get: function(tzid) {\n return zones[tzid];\n },\n\n /**\n * Registers a timezone object or component.\n *\n * @param {String=} name\n * The name of the timezone. Defaults to the component's TZID if not\n * passed.\n * @param {ICAL.Component|ICAL.Timezone} zone\n * The initialized zone or vtimezone.\n */\n register: function(name, timezone) {\n if (name instanceof ICAL.Component) {\n if (name.name === 'vtimezone') {\n timezone = new ICAL.Timezone(name);\n name = timezone.tzid;\n }\n }\n\n if (timezone instanceof ICAL.Timezone) {\n zones[name] = timezone;\n } else {\n throw new TypeError('timezone must be ICAL.Timezone or ICAL.Component');\n }\n },\n\n /**\n * Removes a timezone by its tzid from the list.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The removed timezone, or null if not registered\n */\n remove: function(tzid) {\n return (delete zones[tzid]);\n }\n };\n\n // initialize defaults\n TimezoneService.reset();\n\n return TimezoneService;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n\n /**\n * @classdesc\n * iCalendar Time representation (similar to JS Date object). Fully\n * independent of system (OS) timezone / time. Unlike JS Date, the month\n * January is 1, not zero.\n *\n * @example\n * var time = new ICAL.Time({\n * year: 2012,\n * month: 10,\n * day: 11\n * minute: 0,\n * second: 0,\n * isDate: false\n * });\n *\n *\n * @alias ICAL.Time\n * @class\n * @param {Object} data Time initialization\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Boolean=} data.isDate If true, the instance represents a date (as\n * opposed to a date-time)\n * @param {ICAL.Timezone} zone timezone this position occurs in\n */\n ICAL.Time = function icaltime(data, zone) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n /* time defaults */\n time.year = 0;\n time.month = 1;\n time.day = 1;\n time.hour = 0;\n time.minute = 0;\n time.second = 0;\n time.isDate = false;\n\n this.fromData(data, zone);\n };\n\n ICAL.Time._dowCache = {};\n ICAL.Time._wnCache = {};\n\n ICAL.Time.prototype = {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltime\"\n */\n icalclass: \"icaltime\",\n _cachedUnixTime: null,\n\n /**\n * The type name, to be used in the jCal object. This value may change and\n * is strictly defined by the {@link ICAL.Time#isDate isDate} member.\n * @readonly\n * @type {String}\n * @default \"date-time\"\n */\n get icaltype() {\n return this.isDate ? 'date' : 'date-time';\n },\n\n /**\n * The timezone for this time.\n * @type {ICAL.Timezone}\n */\n zone: null,\n\n /**\n * Internal uses to indicate that a change has been made and the next read\n * operation must attempt to normalize the value (for example changing the\n * day to 33).\n *\n * @type {Boolean}\n * @private\n */\n _pendingNormalization: false,\n\n /**\n * Returns a clone of the time object.\n *\n * @return {ICAL.Time} The cloned object\n */\n clone: function() {\n return new ICAL.Time(this._time, this.zone);\n },\n\n /**\n * Reset the time instance to epoch time\n */\n reset: function icaltime_reset() {\n this.fromData(ICAL.Time.epochTime);\n this.zone = ICAL.Timezone.utcTimezone;\n },\n\n /**\n * Reset the time instance to the given date/time values.\n *\n * @param {Number} year The year to set\n * @param {Number} month The month to set\n * @param {Number} day The day to set\n * @param {Number} hour The hour to set\n * @param {Number} minute The minute to set\n * @param {Number} second The second to set\n * @param {ICAL.Timezone} timezone The timezone to set\n */\n resetTo: function icaltime_resetTo(year, month, day,\n hour, minute, second, timezone) {\n this.fromData({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n zone: timezone\n });\n },\n\n /**\n * Set up the current instance from the Javascript date value.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n fromJSDate: function icaltime_fromJSDate(aDate, useUTC) {\n if (!aDate) {\n this.reset();\n } else {\n if (useUTC) {\n this.zone = ICAL.Timezone.utcTimezone;\n this.year = aDate.getUTCFullYear();\n this.month = aDate.getUTCMonth() + 1;\n this.day = aDate.getUTCDate();\n this.hour = aDate.getUTCHours();\n this.minute = aDate.getUTCMinutes();\n this.second = aDate.getUTCSeconds();\n } else {\n this.zone = ICAL.Timezone.localTimezone;\n this.year = aDate.getFullYear();\n this.month = aDate.getMonth() + 1;\n this.day = aDate.getDate();\n this.hour = aDate.getHours();\n this.minute = aDate.getMinutes();\n this.second = aDate.getSeconds();\n }\n }\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n fromData: function fromData(aData, aZone) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aData, key)) {\n // ical type cannot be set\n if (key === 'icaltype') continue;\n this[key] = aData[key];\n }\n }\n }\n\n if (aZone) {\n this.zone = aZone;\n }\n\n if (aData && !(\"isDate\" in aData)) {\n this.isDate = !(\"hour\" in aData);\n } else if (aData && (\"isDate\" in aData)) {\n this.isDate = aData.isDate;\n }\n\n if (aData && \"timezone\" in aData) {\n var zone = ICAL.TimezoneService.get(\n aData.timezone\n );\n\n this.zone = zone || ICAL.Timezone.localTimezone;\n }\n\n if (aData && \"zone\" in aData) {\n this.zone = aData.zone;\n }\n\n if (!this.zone) {\n this.zone = ICAL.Timezone.localTimezone;\n }\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Calculate the day of week.\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time.weekDay}\n */\n dayOfWeek: function icaltime_dayOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dowCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + firstDow;\n if (dowCacheKey in ICAL.Time._dowCache) {\n return ICAL.Time._dowCache[dowCacheKey];\n }\n\n // Using Zeller's algorithm\n var q = this.day;\n var m = this.month + (this.month < 3 ? 12 : 0);\n var Y = this.year - (this.month < 3 ? 1 : 0);\n\n var h = (q + Y + ICAL.helpers.trunc(((m + 1) * 26) / 10) + ICAL.helpers.trunc(Y / 4));\n /* istanbul ignore else */\n if (true /* gregorian */) {\n h += ICAL.helpers.trunc(Y / 100) * 6 + ICAL.helpers.trunc(Y / 400);\n } else {\n h += 5;\n }\n\n // Normalize to 1 = wkst\n h = ((h + 7 - firstDow) % 7) + 1;\n ICAL.Time._dowCache[dowCacheKey] = h;\n return h;\n },\n\n /**\n * Calculate the day of year.\n * @return {Number}\n */\n dayOfYear: function dayOfYear() {\n var is_leap = (ICAL.Time.isLeapYear(this.year) ? 1 : 0);\n var diypm = ICAL.Time.daysInYearPassedMonth;\n return diypm[is_leap][this.month - 1] + this.day;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * week. The resulting ICAL.Time instance is of icaltype date, even if this\n * is a date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The start of the week (cloned)\n */\n startOfWeek: function startOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day -= ((this.dayOfWeek() + 7 - firstDow) % 7);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the week.\n * The resulting ICAL.Time instance is of icaltype date, even if this is a\n * date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The end of the week (cloned)\n */\n endOfWeek: function endOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day += (7 - this.dayOfWeek() + firstDow - ICAL.Time.SUNDAY) % 7;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the month (cloned)\n */\n startOfMonth: function startOfMonth() {\n var result = this.clone();\n result.day = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the month (cloned)\n */\n endOfMonth: function endOfMonth() {\n var result = this.clone();\n result.day = ICAL.Time.daysInMonth(result.month, result.year);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the year (cloned)\n */\n startOfYear: function startOfYear() {\n var result = this.clone();\n result.day = 1;\n result.month = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the year (cloned)\n */\n endOfYear: function endOfYear() {\n var result = this.clone();\n result.day = 31;\n result.month = 12;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * First calculates the start of the week, then returns the day of year for\n * this date. If the day falls into the previous year, the day is zero or negative.\n *\n * @param {ICAL.Time.weekDay=} aFirstDayOfWeek\n * The week start weekday, defaults to SUNDAY\n * @return {Number} The calculated day of year\n */\n startDoyWeek: function startDoyWeek(aFirstDayOfWeek) {\n var firstDow = aFirstDayOfWeek || ICAL.Time.SUNDAY;\n var delta = this.dayOfWeek() - firstDow;\n if (delta < 0) delta += 7;\n return this.dayOfYear() - delta;\n },\n\n /**\n * Get the dominical letter for the current year. Letters range from A - G\n * for common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n getDominicalLetter: function() {\n return ICAL.Time.getDominicalLetter(this.year);\n },\n\n /**\n * Finds the nthWeekDay relative to the current month (not day). The\n * returned value is a day relative the month that this month belongs to so\n * 1 would indicate the first of the month and 40 would indicate a day in\n * the following month.\n *\n * @param {Number} aDayOfWeek Day of the week see the day name constants\n * @param {Number} aPos Nth occurrence of a given week day values\n * of 1 and 0 both indicate the first weekday of that type. aPos may\n * be either positive or negative\n *\n * @return {Number} numeric value indicating a day relative\n * to the current month of this time object\n */\n nthWeekDay: function icaltime_nthWeekDay(aDayOfWeek, aPos) {\n var daysInMonth = ICAL.Time.daysInMonth(this.month, this.year);\n var weekday;\n var pos = aPos;\n\n var start = 0;\n\n var otherDay = this.clone();\n\n if (pos >= 0) {\n otherDay.day = 1;\n\n // because 0 means no position has been given\n // 1 and 0 indicate the same day.\n if (pos != 0) {\n // remove the extra numeric value\n pos--;\n }\n\n // set current start offset to current day.\n start = otherDay.day;\n\n // find the current day of week\n var startDow = otherDay.dayOfWeek();\n\n // calculate the difference between current\n // day of the week and desired day of the week\n var offset = aDayOfWeek - startDow;\n\n\n // if the offset goes into the past\n // week we add 7 so its goes into the next\n // week. We only want to go forward in time here.\n if (offset < 0)\n // this is really important otherwise we would\n // end up with dates from in the past.\n offset += 7;\n\n // add offset to start so start is the same\n // day of the week as the desired day of week.\n start += offset;\n\n // because we are going to add (and multiply)\n // the numeric value of the day we subtract it\n // from the start position so not to add it twice.\n start -= aDayOfWeek;\n\n // set week day\n weekday = aDayOfWeek;\n } else {\n\n // then we set it to the last day in the current month\n otherDay.day = daysInMonth;\n\n // find the ends weekday\n var endDow = otherDay.dayOfWeek();\n\n pos++;\n\n weekday = (endDow - aDayOfWeek);\n\n if (weekday < 0) {\n weekday += 7;\n }\n\n weekday = daysInMonth - weekday;\n }\n\n weekday += pos * 7;\n\n return start + weekday;\n },\n\n /**\n * Checks if current time is the nth weekday, relative to the current\n * month. Will always return false when rule resolves outside of current\n * month.\n *\n * @param {ICAL.Time.weekDay} aDayOfWeek Day of week to check\n * @param {Number} aPos Relative position\n * @return {Boolean} True, if its the nth weekday\n */\n isNthWeekDay: function(aDayOfWeek, aPos) {\n var dow = this.dayOfWeek();\n\n if (aPos === 0 && dow === aDayOfWeek) {\n return true;\n }\n\n // get pos\n var day = this.nthWeekDay(aDayOfWeek, aPos);\n\n if (day === this.day) {\n return true;\n }\n\n return false;\n },\n\n /**\n * Calculates the ISO 8601 week number. The first week of a year is the\n * week that contains the first Thursday. The year can have 53 weeks, if\n * January 1st is a Friday.\n *\n * Note there are regions where the first week of the year is the one that\n * starts on January 1st, which may offset the week number. Also, if a\n * different week start is specified, this will also affect the week\n * number.\n *\n * @see ICAL.Time.weekOneStarts\n * @param {ICAL.Time.weekDay} aWeekStart The weekday the week starts with\n * @return {Number} The ISO week number\n */\n weekNumber: function weekNumber(aWeekStart) {\n var wnCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + aWeekStart;\n if (wnCacheKey in ICAL.Time._wnCache) {\n return ICAL.Time._wnCache[wnCacheKey];\n }\n // This function courtesty of Julian Bucknall, published under the MIT license\n // http://www.boyet.com/articles/publishedarticles/calculatingtheisoweeknumb.html\n // plus some fixes to be able to use different week starts.\n var week1;\n\n var dt = this.clone();\n dt.isDate = true;\n var isoyear = this.year;\n\n if (dt.month == 12 && dt.day > 25) {\n week1 = ICAL.Time.weekOneStarts(isoyear + 1, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n } else {\n isoyear++;\n }\n } else {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(--isoyear, aWeekStart);\n }\n }\n\n var daysBetween = (dt.subtractDate(week1).toSeconds() / 86400);\n var answer = ICAL.helpers.trunc(daysBetween / 7) + 1;\n ICAL.Time._wnCache[wnCacheKey] = answer;\n return answer;\n },\n\n /**\n * Adds the duration to the current time. The instance is modified in\n * place.\n *\n * @param {ICAL.Duration} aDuration The duration to add\n */\n addDuration: function icaltime_add(aDuration) {\n var mult = (aDuration.isNegative ? -1 : 1);\n\n // because of the duration optimizations it is much\n // more efficient to grab all the values up front\n // then set them directly (which will avoid a normalization call).\n // So we don't actually normalize until we need it.\n var second = this.second;\n var minute = this.minute;\n var hour = this.hour;\n var day = this.day;\n\n second += mult * aDuration.seconds;\n minute += mult * aDuration.minutes;\n hour += mult * aDuration.hours;\n day += mult * aDuration.days;\n day += mult * 7 * aDuration.weeks;\n\n this.second = second;\n this.minute = minute;\n this.hour = hour;\n this.day = day;\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Subtract the date details (_excluding_ timezone). Useful for finding\n * the relative difference between two time objects excluding their\n * timezone differences.\n *\n * @param {ICAL.Time} aDate The date to substract\n * @return {ICAL.Duration} The difference as a duration\n */\n subtractDate: function icaltime_subtract(aDate) {\n var unixTime = this.toUnixTime() + this.utcOffset();\n var other = aDate.toUnixTime() + aDate.utcOffset();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Subtract the date details, taking timezones into account.\n *\n * @param {ICAL.Time} aDate The date to subtract\n * @return {ICAL.Duration} The difference in duration\n */\n subtractDateTz: function icaltime_subtract_abs(aDate) {\n var unixTime = this.toUnixTime();\n var other = aDate.toUnixTime();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Compares the ICAL.Time instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toUnixTime();\n var b = other.toUnixTime();\n\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n },\n\n /**\n * Compares only the date part of this instance with another one.\n *\n * @param {ICAL.Duration} other The instance to compare with\n * @param {ICAL.Timezone} tz The timezone to compare in\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compareDateOnlyTz: function icaltime_compareDateOnlyTz(other, tz) {\n function cmp(attr) {\n return ICAL.Time._cmp_attr(a, b, attr);\n }\n var a = this.convertToZone(tz);\n var b = other.convertToZone(tz);\n var rc = 0;\n\n if ((rc = cmp(\"year\")) != 0) return rc;\n if ((rc = cmp(\"month\")) != 0) return rc;\n if ((rc = cmp(\"day\")) != 0) return rc;\n\n return rc;\n },\n\n /**\n * Convert the instance into another timzone. The returned ICAL.Time\n * instance is always a copy.\n *\n * @param {ICAL.Timezone} zone The zone to convert to\n * @return {ICAL.Time} The copy, converted to the zone\n */\n convertToZone: function convertToZone(zone) {\n var copy = this.clone();\n var zone_equals = (this.zone.tzid == zone.tzid);\n\n if (!this.isDate && !zone_equals) {\n ICAL.Timezone.convert_time(copy, this.zone, zone);\n }\n\n copy.zone = zone;\n return copy;\n },\n\n /**\n * Calculates the UTC offset of the current date/time in the timezone it is\n * in.\n *\n * @return {Number} UTC offset in seconds\n */\n utcOffset: function utc_offset() {\n if (this.zone == ICAL.Timezone.localTimezone ||\n this.zone == ICAL.Timezone.utcTimezone) {\n return 0;\n } else {\n return this.zone.utcOffset(this);\n }\n },\n\n /**\n * Returns an RFC 5545 compliant ical representation of this object.\n *\n * @return {String} ical date/date-time\n */\n toICALString: function() {\n var string = this.toString();\n\n if (string.length > 10) {\n return ICAL.design.icalendar.value['date-time'].toICAL(string);\n } else {\n return ICAL.design.icalendar.value.date.toICAL(string);\n }\n },\n\n /**\n * The string representation of this date/time, in jCal form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var result = this.year + '-' +\n ICAL.helpers.pad2(this.month) + '-' +\n ICAL.helpers.pad2(this.day);\n\n if (!this.isDate) {\n result += 'T' + ICAL.helpers.pad2(this.hour) + ':' +\n ICAL.helpers.pad2(this.minute) + ':' +\n ICAL.helpers.pad2(this.second);\n\n if (this.zone === ICAL.Timezone.utcTimezone) {\n result += 'Z';\n }\n }\n\n return result;\n },\n\n /**\n * Converts the current instance to a Javascript date\n * @return {Date}\n */\n toJSDate: function toJSDate() {\n if (this.zone == ICAL.Timezone.localTimezone) {\n if (this.isDate) {\n return new Date(this.year, this.month - 1, this.day);\n } else {\n return new Date(this.year, this.month - 1, this.day,\n this.hour, this.minute, this.second, 0);\n }\n } else {\n return new Date(this.toUnixTime() * 1000);\n }\n },\n\n _normalize: function icaltime_normalize() {\n var isDate = this._time.isDate;\n if (this._time.isDate) {\n this._time.hour = 0;\n this._time.minute = 0;\n this._time.second = 0;\n }\n this.adjust(0, 0, 0, 0);\n\n return this;\n },\n\n /**\n * Adjust the date/time by the given offset\n *\n * @param {Number} aExtraDays The extra amount of days\n * @param {Number} aExtraHours The extra amount of hours\n * @param {Number} aExtraMinutes The extra amount of minutes\n * @param {Number} aExtraSeconds The extra amount of seconds\n * @param {Number=} aTime The time to adjust, defaults to the\n * current instance.\n */\n adjust: function icaltime_adjust(aExtraDays, aExtraHours,\n aExtraMinutes, aExtraSeconds, aTime) {\n\n var minutesOverflow, hoursOverflow,\n daysOverflow = 0, yearsOverflow = 0;\n\n var second, minute, hour, day;\n var daysInMonth;\n\n var time = aTime || this._time;\n\n if (!time.isDate) {\n second = time.second + aExtraSeconds;\n time.second = second % 60;\n minutesOverflow = ICAL.helpers.trunc(second / 60);\n if (time.second < 0) {\n time.second += 60;\n minutesOverflow--;\n }\n\n minute = time.minute + aExtraMinutes + minutesOverflow;\n time.minute = minute % 60;\n hoursOverflow = ICAL.helpers.trunc(minute / 60);\n if (time.minute < 0) {\n time.minute += 60;\n hoursOverflow--;\n }\n\n hour = time.hour + aExtraHours + hoursOverflow;\n\n time.hour = hour % 24;\n daysOverflow = ICAL.helpers.trunc(hour / 24);\n if (time.hour < 0) {\n time.hour += 24;\n daysOverflow--;\n }\n }\n\n\n // Adjust month and year first, because we need to know what month the day\n // is in before adjusting it.\n if (time.month > 12) {\n yearsOverflow = ICAL.helpers.trunc((time.month - 1) / 12);\n } else if (time.month < 1) {\n yearsOverflow = ICAL.helpers.trunc(time.month / 12) - 1;\n }\n\n time.year += yearsOverflow;\n time.month -= 12 * yearsOverflow;\n\n // Now take care of the days (and adjust month if needed)\n day = time.day + aExtraDays + daysOverflow;\n\n if (day > 0) {\n for (;;) {\n daysInMonth = ICAL.Time.daysInMonth(time.month, time.year);\n if (day <= daysInMonth) {\n break;\n }\n\n time.month++;\n if (time.month > 12) {\n time.year++;\n time.month = 1;\n }\n\n day -= daysInMonth;\n }\n } else {\n while (day <= 0) {\n if (time.month == 1) {\n time.year--;\n time.month = 12;\n } else {\n time.month--;\n }\n\n day += ICAL.Time.daysInMonth(time.month, time.year);\n }\n }\n\n time.day = day;\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance from unix time, the number of seconds since\n * January 1st, 1970.\n *\n * @param {Number} seconds The seconds to set up with\n */\n fromUnixTime: function fromUnixTime(seconds) {\n this.zone = ICAL.Timezone.utcTimezone;\n var epoch = ICAL.Time.epochTime.clone();\n epoch.adjust(0, 0, 0, seconds);\n\n this.year = epoch.year;\n this.month = epoch.month;\n this.day = epoch.day;\n this.hour = epoch.hour;\n this.minute = epoch.minute;\n this.second = Math.floor(epoch.second);\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Converts the current instance to seconds since January 1st 1970.\n *\n * @return {Number} Seconds since 1970\n */\n toUnixTime: function toUnixTime() {\n if (this._cachedUnixTime !== null) {\n return this._cachedUnixTime;\n }\n var offset = this.utcOffset();\n\n // we use the offset trick to ensure\n // that we are getting the actual UTC time\n var ms = Date.UTC(\n this.year,\n this.month - 1,\n this.day,\n this.hour,\n this.minute,\n this.second - offset\n );\n\n // seconds\n this._cachedUnixTime = ms / 1000;\n return this._cachedUnixTime;\n },\n\n /**\n * Converts time to into Object which can be serialized then re-created\n * using the constructor.\n *\n * @example\n * // toJSON will automatically be called\n * var json = JSON.stringify(mytime);\n *\n * var deserialized = JSON.parse(json);\n *\n * var time = new ICAL.Time(deserialized);\n *\n * @return {Object}\n */\n toJSON: function() {\n var copy = [\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'isDate'\n ];\n\n var result = Object.create(null);\n\n var i = 0;\n var len = copy.length;\n var prop;\n\n for (; i < len; i++) {\n prop = copy[i];\n result[prop] = this[prop];\n }\n\n if (this.zone) {\n result.timezone = this.zone.tzid;\n }\n\n return result;\n }\n\n };\n\n (function setupNormalizeAttributes() {\n // This needs to run before any instances are created!\n function defineAttr(attr) {\n Object.defineProperty(ICAL.Time.prototype, attr, {\n get: function getTimeAttr() {\n if (this._pendingNormalization) {\n this._normalize();\n this._pendingNormalization = false;\n }\n\n return this._time[attr];\n },\n set: function setTimeAttr(val) {\n // Check if isDate will be set and if was not set to normalize date.\n // This avoids losing days when seconds, minutes and hours are zeroed\n // what normalize will do when time is a date.\n if (attr === \"isDate\" && val && !this._time.isDate) {\n this.adjust(0, 0, 0, 0);\n }\n this._cachedUnixTime = null;\n this._pendingNormalization = true;\n this._time[attr] = val;\n\n return val;\n }\n });\n\n }\n\n /* istanbul ignore else */\n if (\"defineProperty\" in Object) {\n defineAttr(\"year\");\n defineAttr(\"month\");\n defineAttr(\"day\");\n defineAttr(\"hour\");\n defineAttr(\"minute\");\n defineAttr(\"second\");\n defineAttr(\"isDate\");\n }\n })();\n\n /**\n * Returns the days in the given month\n *\n * @param {Number} month The month to check\n * @param {Number} year The year to check\n * @return {Number} The number of days in the month\n */\n ICAL.Time.daysInMonth = function icaltime_daysInMonth(month, year) {\n var _daysInMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var days = 30;\n\n if (month < 1 || month > 12) return days;\n\n days = _daysInMonth[month];\n\n if (month == 2) {\n days += ICAL.Time.isLeapYear(year);\n }\n\n return days;\n };\n\n /**\n * Checks if the year is a leap year\n *\n * @param {Number} year The year to check\n * @return {Boolean} True, if the year is a leap year\n */\n ICAL.Time.isLeapYear = function isLeapYear(year) {\n if (year <= 1752) {\n return ((year % 4) == 0);\n } else {\n return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));\n }\n };\n\n /**\n * Create a new ICAL.Time from the day of year and year. The date is returned\n * in floating timezone.\n *\n * @param {Number} aDayOfYear The day of year\n * @param {Number} aYear The year to create the instance in\n * @return {ICAL.Time} The created instance with the calculated date\n */\n ICAL.Time.fromDayOfYear = function icaltime_fromDayOfYear(aDayOfYear, aYear) {\n var year = aYear;\n var doy = aDayOfYear;\n var tt = new ICAL.Time();\n tt.auto_normalize = false;\n var is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n\n if (doy < 1) {\n year--;\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy += ICAL.Time.daysInYearPassedMonth[is_leap][12];\n return ICAL.Time.fromDayOfYear(doy, year);\n } else if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][12]) {\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy -= ICAL.Time.daysInYearPassedMonth[is_leap][12];\n year++;\n return ICAL.Time.fromDayOfYear(doy, year);\n }\n\n tt.year = year;\n tt.isDate = true;\n\n for (var month = 11; month >= 0; month--) {\n if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][month]) {\n tt.month = month + 1;\n tt.day = doy - ICAL.Time.daysInYearPassedMonth[is_leap][month];\n break;\n }\n }\n\n tt.auto_normalize = true;\n return tt;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @deprecated Use {@link ICAL.Time.fromDateString} instead\n * @param {String} str The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromStringv2 = function fromString(str) {\n return new ICAL.Time({\n year: parseInt(str.substr(0, 4), 10),\n month: parseInt(str.substr(5, 2), 10),\n day: parseInt(str.substr(8, 2), 10),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @param {String} aValue The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateString = function(aValue) {\n // Dates should have no timezone.\n // Google likes to sometimes specify Z on dates\n // we specifically ignore that to avoid issues.\n\n // YYYY-MM-DD\n // 2012-10-10\n return new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date-time string, e.g\n * 2015-01-02T03:04:05. If a property is specified, the timezone is set up\n * from the property's TZID parameter.\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateTimeString = function(aValue, prop) {\n if (aValue.length < 19) {\n throw new Error(\n 'invalid date-time value: \"' + aValue + '\"'\n );\n }\n\n var zone;\n\n if (aValue[19] && aValue[19] === 'Z') {\n zone = 'Z';\n } else if (prop) {\n zone = prop.getParameter('tzid');\n }\n\n // 2012-10-10T10:10:10(Z)?\n var time = new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n hour: ICAL.helpers.strictParseInt(aValue.substr(11, 2)),\n minute: ICAL.helpers.strictParseInt(aValue.substr(14, 2)),\n second: ICAL.helpers.strictParseInt(aValue.substr(17, 2)),\n timezone: zone\n });\n\n return time;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date or date-time string,\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromString = function fromString(aValue, aProperty) {\n if (aValue.length > 10) {\n return ICAL.Time.fromDateTimeString(aValue, aProperty);\n } else {\n return ICAL.Time.fromDateString(aValue);\n }\n };\n\n /**\n * Creates a new ICAL.Time instance from the given Javascript Date.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n ICAL.Time.fromJSDate = function fromJSDate(aDate, useUTC) {\n var tt = new ICAL.Time();\n return tt.fromJSDate(aDate, useUTC);\n };\n\n /**\n * Creates a new ICAL.Time instance from the the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n ICAL.Time.fromData = function fromData(aData, aZone) {\n var t = new ICAL.Time();\n return t.fromData(aData, aZone);\n };\n\n /**\n * Creates a new ICAL.Time instance from the current moment.\n * @return {ICAL.Time}\n */\n ICAL.Time.now = function icaltime_now() {\n return ICAL.Time.fromJSDate(new Date(), false);\n };\n\n /**\n * Returns the date on which ISO week number 1 starts.\n *\n * @see ICAL.Time#weekNumber\n * @param {Number} aYear The year to search in\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday, used for calculation.\n * @return {ICAL.Time} The date on which week number 1 starts\n */\n ICAL.Time.weekOneStarts = function weekOneStarts(aYear, aWeekStart) {\n var t = ICAL.Time.fromData({\n year: aYear,\n month: 1,\n day: 1,\n isDate: true\n });\n\n var dow = t.dayOfWeek();\n var wkst = aWeekStart || ICAL.Time.DEFAULT_WEEK_START;\n if (dow > ICAL.Time.THURSDAY) {\n t.day += 7;\n }\n if (wkst > ICAL.Time.THURSDAY) {\n t.day -= 7;\n }\n\n t.day -= dow - wkst;\n\n return t;\n };\n\n /**\n * Get the dominical letter for the given year. Letters range from A - G for\n * common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n ICAL.Time.getDominicalLetter = function(yr) {\n var LTRS = \"GFEDCBA\";\n var dom = (yr + (yr / 4 | 0) + (yr / 400 | 0) - (yr / 100 | 0) - 1) % 7;\n var isLeap = ICAL.Time.isLeapYear(yr);\n if (isLeap) {\n return LTRS[(dom + 6) % 7] + LTRS[dom];\n } else {\n return LTRS[dom];\n }\n };\n\n /**\n * January 1st, 1970 as an ICAL.Time.\n * @type {ICAL.Time}\n * @constant\n * @instance\n */\n ICAL.Time.epochTime = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n isDate: false,\n timezone: \"Z\"\n });\n\n ICAL.Time._cmp_attr = function _cmp_attr(a, b, attr) {\n if (a[attr] > b[attr]) return 1;\n if (a[attr] < b[attr]) return -1;\n return 0;\n };\n\n /**\n * The days that have passed in the year after a given month. The array has\n * two members, one being an array of passed days for non-leap years, the\n * other analog for leap years.\n * @example\n * var isLeapYear = ICAL.Time.isLeapYear(year);\n * var passedDays = ICAL.Time.daysInYearPassedMonth[isLeapYear][month];\n * @type {Array.<Array.<Number>>}\n */\n ICAL.Time.daysInYearPassedMonth = [\n [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],\n [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]\n ];\n\n /**\n * The weekday, 1 = SUNDAY, 7 = SATURDAY. Access via\n * ICAL.Time.MONDAY, ICAL.Time.TUESDAY, ...\n *\n * @typedef {Number} weekDay\n * @memberof ICAL.Time\n */\n\n ICAL.Time.SUNDAY = 1;\n ICAL.Time.MONDAY = 2;\n ICAL.Time.TUESDAY = 3;\n ICAL.Time.WEDNESDAY = 4;\n ICAL.Time.THURSDAY = 5;\n ICAL.Time.FRIDAY = 6;\n ICAL.Time.SATURDAY = 7;\n\n /**\n * The default weekday for the WKST part.\n * @constant\n * @default ICAL.Time.MONDAY\n */\n ICAL.Time.DEFAULT_WEEK_START = ICAL.Time.MONDAY;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2015 */\n\n\n\n(function() {\n\n /**\n * Describes a vCard time, which has slight differences to the ICAL.Time.\n * Properties can be null if not specified, for example for dates with\n * reduced accuracy or truncation.\n *\n * Note that currently not all methods are correctly re-implemented for\n * VCardTime. For example, comparison will have undefined results when some\n * members are null.\n *\n * Also, normalization is not yet implemented for this class!\n *\n * @alias ICAL.VCardTime\n * @class\n * @extends {ICAL.Time}\n * @param {Object} data The data for the time instance\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {ICAL.Timezone|ICAL.UtcOffset} zone The timezone to use\n * @param {String} icaltype The type for this date/time object\n */\n ICAL.VCardTime = function(data, zone, icaltype) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n time.year = null;\n time.month = null;\n time.day = null;\n time.hour = null;\n time.minute = null;\n time.second = null;\n\n this.icaltype = icaltype || \"date-and-or-time\";\n\n this.fromData(data, zone);\n };\n ICAL.helpers.inherits(ICAL.Time, ICAL.VCardTime, /** @lends ICAL.VCardTime */ {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"vcardtime\"\n */\n icalclass: \"vcardtime\",\n\n /**\n * The type name, to be used in the jCal object.\n * @type {String}\n * @default \"date-and-or-time\"\n */\n icaltype: \"date-and-or-time\",\n\n /**\n * The timezone. This can either be floating, UTC, or an instance of\n * ICAL.UtcOffset.\n * @type {ICAL.Timezone|ICAL.UtcOFfset}\n */\n zone: null,\n\n /**\n * Returns a clone of the vcard date/time object.\n *\n * @return {ICAL.VCardTime} The cloned object\n */\n clone: function() {\n return new ICAL.VCardTime(this._time, this.zone, this.icaltype);\n },\n\n _normalize: function() {\n return this;\n },\n\n /**\n * @inheritdoc\n */\n utcOffset: function() {\n if (this.zone instanceof ICAL.UtcOffset) {\n return this.zone.toSeconds();\n } else {\n return ICAL.Time.prototype.utcOffset.apply(this, arguments);\n }\n },\n\n /**\n * Returns an RFC 6350 compliant representation of this object.\n *\n * @return {String} vcard date/time string\n */\n toICALString: function() {\n return ICAL.design.vcard.value[this.icaltype].toICAL(this.toString());\n },\n\n /**\n * The string representation of this date/time, in jCard form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var p2 = ICAL.helpers.pad2;\n var y = this.year, m = this.month, d = this.day;\n var h = this.hour, mm = this.minute, s = this.second;\n\n var hasYear = y !== null, hasMonth = m !== null, hasDay = d !== null;\n var hasHour = h !== null, hasMinute = mm !== null, hasSecond = s !== null;\n\n var datepart = (hasYear ? p2(y) + (hasMonth || hasDay ? '-' : '') : (hasMonth || hasDay ? '--' : '')) +\n (hasMonth ? p2(m) : '') +\n (hasDay ? '-' + p2(d) : '');\n var timepart = (hasHour ? p2(h) : '-') + (hasHour && hasMinute ? ':' : '') +\n (hasMinute ? p2(mm) : '') + (!hasHour && !hasMinute ? '-' : '') +\n (hasMinute && hasSecond ? ':' : '') +\n (hasSecond ? p2(s) : '');\n\n var zone;\n if (this.zone === ICAL.Timezone.utcTimezone) {\n zone = 'Z';\n } else if (this.zone instanceof ICAL.UtcOffset) {\n zone = this.zone.toString();\n } else if (this.zone === ICAL.Timezone.localTimezone) {\n zone = '';\n } else if (this.zone instanceof ICAL.Timezone) {\n var offset = ICAL.UtcOffset.fromSeconds(this.zone.utcOffset(this));\n zone = offset.toString();\n } else {\n zone = '';\n }\n\n switch (this.icaltype) {\n case \"time\":\n return timepart + zone;\n case \"date-and-or-time\":\n case \"date-time\":\n return datepart + (timepart == '--' ? '' : 'T' + timepart + zone);\n case \"date\":\n return datepart;\n }\n return null;\n }\n });\n\n /**\n * Returns a new ICAL.VCardTime instance from a date and/or time string.\n *\n * @param {String} aValue The string to create from\n * @param {String} aIcalType The type for this instance, e.g. date-and-or-time\n * @return {ICAL.VCardTime} The date/time instance\n */\n ICAL.VCardTime.fromDateAndOrTimeString = function(aValue, aIcalType) {\n function part(v, s, e) {\n return v ? ICAL.helpers.strictParseInt(v.substr(s, e)) : null;\n }\n var parts = aValue.split('T');\n var dt = parts[0], tmz = parts[1];\n var splitzone = tmz ? ICAL.design.vcard.value.time._splitZone(tmz) : [];\n var zone = splitzone[0], tm = splitzone[1];\n\n var stoi = ICAL.helpers.strictParseInt;\n var dtlen = dt ? dt.length : 0;\n var tmlen = tm ? tm.length : 0;\n\n var hasDashDate = dt && dt[0] == '-' && dt[1] == '-';\n var hasDashTime = tm && tm[0] == '-';\n\n var o = {\n year: hasDashDate ? null : part(dt, 0, 4),\n month: hasDashDate && (dtlen == 4 || dtlen == 7) ? part(dt, 2, 2) : dtlen == 7 ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 5, 2) : null,\n day: dtlen == 5 ? part(dt, 3, 2) : dtlen == 7 && hasDashDate ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 8, 2) : null,\n\n hour: hasDashTime ? null : part(tm, 0, 2),\n minute: hasDashTime && tmlen == 3 ? part(tm, 1, 2) : tmlen > 4 ? hasDashTime ? part(tm, 1, 2) : part(tm, 3, 2) : null,\n second: tmlen == 4 ? part(tm, 2, 2) : tmlen == 6 ? part(tm, 4, 2) : tmlen == 8 ? part(tm, 6, 2) : null\n };\n\n if (zone == 'Z') {\n zone = ICAL.Timezone.utcTimezone;\n } else if (zone && zone[3] == ':') {\n zone = ICAL.UtcOffset.fromString(zone);\n } else {\n zone = null;\n }\n\n return new ICAL.VCardTime(o, zone, aIcalType);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DOW_MAP = {\n SU: ICAL.Time.SUNDAY,\n MO: ICAL.Time.MONDAY,\n TU: ICAL.Time.TUESDAY,\n WE: ICAL.Time.WEDNESDAY,\n TH: ICAL.Time.THURSDAY,\n FR: ICAL.Time.FRIDAY,\n SA: ICAL.Time.SATURDAY\n };\n\n var REVERSE_DOW_MAP = {};\n for (var key in DOW_MAP) {\n /* istanbul ignore else */\n if (DOW_MAP.hasOwnProperty(key)) {\n REVERSE_DOW_MAP[DOW_MAP[key]] = key;\n }\n }\n\n var COPY_PARTS = [\"BYSECOND\", \"BYMINUTE\", \"BYHOUR\", \"BYDAY\",\n \"BYMONTHDAY\", \"BYYEARDAY\", \"BYWEEKNO\",\n \"BYMONTH\", \"BYSETPOS\"];\n\n /**\n * @classdesc\n * This class represents the \"recur\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Recur\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur = function icalrecur(data) {\n this.wrappedJSObject = this;\n this.parts = {};\n\n if (data && typeof(data) === 'object') {\n this.fromData(data);\n }\n };\n\n ICAL.Recur.prototype = {\n /**\n * An object holding the BY-parts of the recurrence rule\n * @type {Object}\n */\n parts: null,\n\n /**\n * The interval value for the recurrence rule.\n * @type {Number}\n */\n interval: 1,\n\n /**\n * The week start day\n *\n * @type {ICAL.Time.weekDay}\n * @default ICAL.Time.MONDAY\n */\n wkst: ICAL.Time.MONDAY,\n\n /**\n * The end of the recurrence\n * @type {?ICAL.Time}\n */\n until: null,\n\n /**\n * The maximum number of occurrences\n * @type {?Number}\n */\n count: null,\n\n /**\n * The frequency value.\n * @type {ICAL.Recur.frequencyValues}\n */\n freq: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalrecur\"\n */\n icalclass: \"icalrecur\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"recur\"\n */\n icaltype: \"recur\",\n\n /**\n * Create a new iterator for this recurrence rule. The passed start date\n * must be the start date of the event, not the start of the range to\n * search in.\n *\n * @example\n * var recur = comp.getFirstPropertyValue('rrule');\n * var dtstart = comp.getFirstPropertyValue('dtstart');\n * var iter = recur.iterator(dtstart);\n * for (var next = iter.next(); next; next = iter.next()) {\n * if (next.compare(rangeStart) < 0) {\n * continue;\n * }\n * console.log(next.toString());\n * }\n *\n * @param {ICAL.Time} aStart The item's start date\n * @return {ICAL.RecurIterator} The recurrence iterator\n */\n iterator: function(aStart) {\n return new ICAL.RecurIterator({\n rule: this,\n dtstart: aStart\n });\n },\n\n /**\n * Returns a clone of the recurrence object.\n *\n * @return {ICAL.Recur} The cloned object\n */\n clone: function clone() {\n return new ICAL.Recur(this.toJSON());\n },\n\n /**\n * Checks if the current rule is finite, i.e. has a count or until part.\n *\n * @return {Boolean} True, if the rule is finite\n */\n isFinite: function isfinite() {\n return !!(this.count || this.until);\n },\n\n /**\n * Checks if the current rule has a count part, and not limited by an until\n * part.\n *\n * @return {Boolean} True, if the rule is by count\n */\n isByCount: function isbycount() {\n return !!(this.count && !this.until);\n },\n\n /**\n * Adds a component (part) to the recurrence rule. This is not a component\n * in the sense of {@link ICAL.Component}, but a part of the recurrence\n * rule, i.e. BYMONTH.\n *\n * @param {String} aType The name of the component part\n * @param {Array|String} aValue The component value\n */\n addComponent: function addPart(aType, aValue) {\n var ucname = aType.toUpperCase();\n if (ucname in this.parts) {\n this.parts[ucname].push(aValue);\n } else {\n this.parts[ucname] = [aValue];\n }\n },\n\n /**\n * Sets the component value for the given by-part.\n *\n * @param {String} aType The component part name\n * @param {Array} aValues The component values\n */\n setComponent: function setComponent(aType, aValues) {\n this.parts[aType.toUpperCase()] = aValues.slice();\n },\n\n /**\n * Gets (a copy) of the requested component value.\n *\n * @param {String} aType The component part name\n * @return {Array} The component part value\n */\n getComponent: function getComponent(aType) {\n var ucname = aType.toUpperCase();\n return (ucname in this.parts ? this.parts[ucname].slice() : []);\n },\n\n /**\n * Retrieves the next occurrence after the given recurrence id. See the\n * guide on {@tutorial terminology} for more details.\n *\n * NOTE: Currently, this method iterates all occurrences from the start\n * date. It should not be called in a loop for performance reasons. If you\n * would like to get more than one occurrence, you can iterate the\n * occurrences manually, see the example on the\n * {@link ICAL.Recur#iterator iterator} method.\n *\n * @param {ICAL.Time} aStartTime The start of the event series\n * @param {ICAL.Time} aRecurrenceId The date of the last occurrence\n * @return {ICAL.Time} The next occurrence after\n */\n getNextOccurrence: function getNextOccurrence(aStartTime, aRecurrenceId) {\n var iter = this.iterator(aStartTime);\n var next, cdt;\n\n do {\n next = iter.next();\n } while (next && next.compare(aRecurrenceId) <= 0);\n\n if (next && aRecurrenceId.zone) {\n next.zone = aRecurrenceId.zone;\n }\n\n return next;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n fromData: function(data) {\n for (var key in data) {\n var uckey = key.toUpperCase();\n\n if (uckey in partDesign) {\n if (Array.isArray(data[key])) {\n this.parts[uckey] = data[key];\n } else {\n this.parts[uckey] = [data[key]];\n }\n } else {\n this[key] = data[key];\n }\n }\n\n if (this.interval && typeof this.interval != \"number\") {\n optionDesign.INTERVAL(this.interval, this);\n }\n\n if (this.wkst && typeof this.wkst != \"number\") {\n this.wkst = ICAL.Recur.icalDayToNumericDay(this.wkst);\n }\n\n if (this.until && !(this.until instanceof ICAL.Time)) {\n this.until = ICAL.Time.fromString(this.until);\n }\n },\n\n /**\n * The jCal representation of this recurrence type.\n * @return {Object}\n */\n toJSON: function() {\n var res = Object.create(null);\n res.freq = this.freq;\n\n if (this.count) {\n res.count = this.count;\n }\n\n if (this.interval > 1) {\n res.interval = this.interval;\n }\n\n for (var k in this.parts) {\n /* istanbul ignore if */\n if (!this.parts.hasOwnProperty(k)) {\n continue;\n }\n var kparts = this.parts[k];\n if (Array.isArray(kparts) && kparts.length == 1) {\n res[k.toLowerCase()] = kparts[0];\n } else {\n res[k.toLowerCase()] = ICAL.helpers.clone(this.parts[k]);\n }\n }\n\n if (this.until) {\n res.until = this.until.toString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n res.wkst = ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return res;\n },\n\n /**\n * The string representation of this recurrence rule.\n * @return {String}\n */\n toString: function icalrecur_toString() {\n // TODO retain order\n var str = \"FREQ=\" + this.freq;\n if (this.count) {\n str += \";COUNT=\" + this.count;\n }\n if (this.interval > 1) {\n str += \";INTERVAL=\" + this.interval;\n }\n for (var k in this.parts) {\n /* istanbul ignore else */\n if (this.parts.hasOwnProperty(k)) {\n str += \";\" + k + \"=\" + this.parts[k];\n }\n }\n if (this.until) {\n str += ';UNTIL=' + this.until.toICALString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n str += ';WKST=' + ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return str;\n }\n };\n\n function parseNumericValue(type, min, max, value) {\n var result = value;\n\n if (value[0] === '+') {\n result = value.substr(1);\n }\n\n result = ICAL.helpers.strictParseInt(result);\n\n if (min !== undefined && value < min) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be > ' + min\n );\n }\n\n if (max !== undefined && value > max) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be < ' + min\n );\n }\n\n return result;\n }\n\n /**\n * Convert an ical representation of a day (SU, MO, etc..)\n * into a numeric value of that day.\n *\n * @param {String} string The iCalendar day name\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Number} Numeric value of given day\n */\n ICAL.Recur.icalDayToNumericDay = function toNumericDay(string, aWeekStart) {\n //XXX: this is here so we can deal\n // with possibly invalid string values.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n return ((DOW_MAP[string] - firstDow + 7) % 7) + 1;\n };\n\n /**\n * Convert a numeric day value into its ical representation (SU, MO, etc..)\n *\n * @param {Number} num Numeric value of given day\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {String} The ICAL day value, e.g SU,MO,...\n */\n ICAL.Recur.numericDayToIcalDay = function toIcalDay(num, aWeekStart) {\n //XXX: this is here so we can deal with possibly invalid number values.\n // Also, this allows consistent mapping between day numbers and day\n // names for external users.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dow = (num + firstDow - ICAL.Time.SUNDAY);\n if (dow > 7) {\n dow -= 7;\n }\n return REVERSE_DOW_MAP[dow];\n };\n\n var VALID_DAY_NAMES = /^(SU|MO|TU|WE|TH|FR|SA)$/;\n var VALID_BYDAY_PART = /^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/;\n\n /**\n * Possible frequency values for the FREQ part\n * (YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY)\n *\n * @typedef {String} frequencyValues\n * @memberof ICAL.Recur\n */\n\n var ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY',\n 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n\n var optionDesign = {\n FREQ: function(value, dict, fmtIcal) {\n // yes this is actually equal or faster then regex.\n // upside here is we can enumerate the valid values.\n if (ALLOWED_FREQ.indexOf(value) !== -1) {\n dict.freq = value;\n } else {\n throw new Error(\n 'invalid frequency \"' + value + '\" expected: \"' +\n ALLOWED_FREQ.join(', ') + '\"'\n );\n }\n },\n\n COUNT: function(value, dict, fmtIcal) {\n dict.count = ICAL.helpers.strictParseInt(value);\n },\n\n INTERVAL: function(value, dict, fmtIcal) {\n dict.interval = ICAL.helpers.strictParseInt(value);\n if (dict.interval < 1) {\n // 0 or negative values are not allowed, some engines seem to generate\n // it though. Assume 1 instead.\n dict.interval = 1;\n }\n },\n\n UNTIL: function(value, dict, fmtIcal) {\n if (value.length > 10) {\n dict.until = ICAL.design.icalendar.value['date-time'].fromICAL(value);\n } else {\n dict.until = ICAL.design.icalendar.value.date.fromICAL(value);\n }\n if (!fmtIcal) {\n dict.until = ICAL.Time.fromString(dict.until);\n }\n },\n\n WKST: function(value, dict, fmtIcal) {\n if (VALID_DAY_NAMES.test(value)) {\n dict.wkst = ICAL.Recur.icalDayToNumericDay(value);\n } else {\n throw new Error('invalid WKST value \"' + value + '\"');\n }\n }\n };\n\n var partDesign = {\n BYSECOND: parseNumericValue.bind(this, 'BYSECOND', 0, 60),\n BYMINUTE: parseNumericValue.bind(this, 'BYMINUTE', 0, 59),\n BYHOUR: parseNumericValue.bind(this, 'BYHOUR', 0, 23),\n BYDAY: function(value) {\n if (VALID_BYDAY_PART.test(value)) {\n return value;\n } else {\n throw new Error('invalid BYDAY value \"' + value + '\"');\n }\n },\n BYMONTHDAY: parseNumericValue.bind(this, 'BYMONTHDAY', -31, 31),\n BYYEARDAY: parseNumericValue.bind(this, 'BYYEARDAY', -366, 366),\n BYWEEKNO: parseNumericValue.bind(this, 'BYWEEKNO', -53, 53),\n BYMONTH: parseNumericValue.bind(this, 'BYMONTH', 0, 12),\n BYSETPOS: parseNumericValue.bind(this, 'BYSETPOS', -366, 366)\n };\n\n\n /**\n * Creates a new {@link ICAL.Recur} instance from the passed string.\n *\n * @param {String} string The string to parse\n * @return {ICAL.Recur} The created recurrence instance\n */\n ICAL.Recur.fromString = function(string) {\n var data = ICAL.Recur._stringToData(string, false);\n return new ICAL.Recur(data);\n };\n\n /**\n * Creates a new {@link ICAL.Recur} instance using members from the passed\n * data object.\n *\n * @param {Object} aData An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} aData.freq The frequency value\n * @param {Number=} aData.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} aData.wkst The week start value\n * @param {ICAL.Time=} aData.until The end of the recurrence set\n * @param {Number=} aData.count The number of occurrences\n * @param {Array.<Number>=} aData.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} aData.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} aData.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} aData.byday The BYDAY values\n * @param {Array.<Number>=} aData.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} aData.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} aData.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} aData.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} aData.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur.fromData = function(aData) {\n return new ICAL.Recur(aData);\n };\n\n /**\n * Converts a recurrence string to a data object, suitable for the fromData\n * method.\n *\n * @param {String} string The string to parse\n * @param {Boolean} fmtIcal If true, the string is considered to be an\n * iCalendar string\n * @return {ICAL.Recur} The recurrence instance\n */\n ICAL.Recur._stringToData = function(string, fmtIcal) {\n var dict = Object.create(null);\n\n // split is slower in FF but fast enough.\n // v8 however this is faster then manual split?\n var values = string.split(';');\n var len = values.length;\n\n for (var i = 0; i < len; i++) {\n var parts = values[i].split('=');\n var ucname = parts[0].toUpperCase();\n var lcname = parts[0].toLowerCase();\n var name = (fmtIcal ? lcname : ucname);\n var value = parts[1];\n\n if (ucname in partDesign) {\n var partArr = value.split(',');\n var partArrIdx = 0;\n var partArrLen = partArr.length;\n\n for (; partArrIdx < partArrLen; partArrIdx++) {\n partArr[partArrIdx] = partDesign[ucname](partArr[partArrIdx]);\n }\n dict[name] = (partArr.length == 1 ? partArr[0] : partArr);\n } else if (ucname in optionDesign) {\n optionDesign[ucname](value, dict, fmtIcal);\n } else {\n // Don't swallow unknown values. Just set them as they are.\n dict[lcname] = value;\n }\n }\n\n return dict;\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurIterator = (function() {\n\n /**\n * @classdesc\n * An iterator for a single recurrence rule. This class usually doesn't have\n * to be instanciated directly, the convenience method\n * {@link ICAL.Recur#iterator} can be used.\n *\n * @description\n * The options object may contain additional members when resuming iteration from a previous run\n *\n * @description\n * The options object may contain additional members when resuming iteration\n * from a previous run.\n *\n * @class\n * @alias ICAL.RecurIterator\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n function icalrecur_iterator(options) {\n this.fromData(options);\n }\n\n icalrecur_iterator.prototype = {\n\n /**\n * True when iteration is finished.\n * @type {Boolean}\n */\n completed: false,\n\n /**\n * The rule that is being iterated\n * @type {ICAL.Recur}\n */\n rule: null,\n\n /**\n * The start date of the event being iterated.\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * The last occurrence that was returned from the\n * {@link ICAL.RecurIterator#next} method.\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * The sequence number from the occurrence\n * @type {Number}\n */\n occurrence_number: 0,\n\n /**\n * The indices used for the {@link ICAL.RecurIterator#by_data} object.\n * @type {Object}\n * @private\n */\n by_indices: null,\n\n /**\n * If true, the iterator has already been initialized\n * @type {Boolean}\n * @private\n */\n initialized: false,\n\n /**\n * The initializd by-data.\n * @type {Object}\n * @private\n */\n by_data: null,\n\n /**\n * The expanded yeardays\n * @type {Array}\n * @private\n */\n days: null,\n\n /**\n * The index in the {@link ICAL.RecurIterator#days} array.\n * @type {Number}\n * @private\n */\n days_index: 0,\n\n /**\n * Initialize the recurrence iterator from the passed data object. This\n * method is usually not called directly, you can initialize the iterator\n * through the constructor.\n *\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n fromData: function(options) {\n this.rule = ICAL.helpers.formatClassType(options.rule, ICAL.Recur);\n\n if (!this.rule) {\n throw new Error('iterator requires a (ICAL.Recur) rule');\n }\n\n this.dtstart = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!this.dtstart) {\n throw new Error('iterator requires a (ICAL.Time) dtstart');\n }\n\n if (options.by_data) {\n this.by_data = options.by_data;\n } else {\n this.by_data = ICAL.helpers.clone(this.rule.parts, true);\n }\n\n if (options.occurrence_number)\n this.occurrence_number = options.occurrence_number;\n\n this.days = options.days || [];\n if (options.last) {\n this.last = ICAL.helpers.formatClassType(options.last, ICAL.Time);\n }\n\n this.by_indices = options.by_indices;\n\n if (!this.by_indices) {\n this.by_indices = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 0,\n \"BYHOUR\": 0,\n \"BYDAY\": 0,\n \"BYMONTH\": 0,\n \"BYWEEKNO\": 0,\n \"BYMONTHDAY\": 0\n };\n }\n\n this.initialized = options.initialized || false;\n\n if (!this.initialized) {\n this.init();\n }\n },\n\n /**\n * Intialize the iterator\n * @private\n */\n init: function icalrecur_iterator_init() {\n this.initialized = true;\n this.last = this.dtstart.clone();\n var parts = this.by_data;\n\n if (\"BYDAY\" in parts) {\n // libical does this earlier when the rule is loaded, but we postpone to\n // now so we can preserve the original order.\n this.sort_byday_rules(parts.BYDAY);\n }\n\n // If the BYYEARDAY appares, no other date rule part may appear\n if (\"BYYEARDAY\" in parts) {\n if (\"BYMONTH\" in parts || \"BYWEEKNO\" in parts ||\n \"BYMONTHDAY\" in parts || \"BYDAY\" in parts) {\n throw new Error(\"Invalid BYYEARDAY rule\");\n }\n }\n\n // BYWEEKNO and BYMONTHDAY rule parts may not both appear\n if (\"BYWEEKNO\" in parts && \"BYMONTHDAY\" in parts) {\n throw new Error(\"BYWEEKNO does not fit to BYMONTHDAY\");\n }\n\n // For MONTHLY recurrences (FREQ=MONTHLY) neither BYYEARDAY nor\n // BYWEEKNO may appear.\n if (this.rule.freq == \"MONTHLY\" &&\n (\"BYYEARDAY\" in parts || \"BYWEEKNO\" in parts)) {\n throw new Error(\"For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear\");\n }\n\n // For WEEKLY recurrences (FREQ=WEEKLY) neither BYMONTHDAY nor\n // BYYEARDAY may appear.\n if (this.rule.freq == \"WEEKLY\" &&\n (\"BYYEARDAY\" in parts || \"BYMONTHDAY\" in parts)) {\n throw new Error(\"For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear\");\n }\n\n // BYYEARDAY may only appear in YEARLY rules\n if (this.rule.freq != \"YEARLY\" && \"BYYEARDAY\" in parts) {\n throw new Error(\"BYYEARDAY may only appear in YEARLY rules\");\n }\n\n this.last.second = this.setup_defaults(\"BYSECOND\", \"SECONDLY\", this.dtstart.second);\n this.last.minute = this.setup_defaults(\"BYMINUTE\", \"MINUTELY\", this.dtstart.minute);\n this.last.hour = this.setup_defaults(\"BYHOUR\", \"HOURLY\", this.dtstart.hour);\n this.last.day = this.setup_defaults(\"BYMONTHDAY\", \"DAILY\", this.dtstart.day);\n this.last.month = this.setup_defaults(\"BYMONTH\", \"MONTHLY\", this.dtstart.month);\n\n if (this.rule.freq == \"WEEKLY\") {\n if (\"BYDAY\" in parts) {\n var bydayParts = this.ruleDayOfWeek(parts.BYDAY[0], this.rule.wkst);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var wkdy = dow - this.last.dayOfWeek(this.rule.wkst);\n if ((this.last.dayOfWeek(this.rule.wkst) < dow && wkdy >= 0) || wkdy < 0) {\n // Initial time is after first day of BYDAY data\n this.last.day += wkdy;\n }\n } else {\n var dayName = ICAL.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());\n parts.BYDAY = [dayName];\n }\n }\n\n if (this.rule.freq == \"YEARLY\") {\n for (;;) {\n this.expand_year_days(this.last.year);\n if (this.days.length > 0) {\n break;\n }\n this.increment_year(this.rule.interval);\n }\n\n this._nextByYearDay();\n }\n\n if (this.rule.freq == \"MONTHLY\" && this.has_by_data(\"BYDAY\")) {\n var tempLast = null;\n var initLast = this.last.clone();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n\n // Check every weekday in BYDAY with relative dow and pos.\n for (var i in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(i)) {\n continue;\n }\n this.last = initLast.clone();\n var bydayParts = this.ruleDayOfWeek(this.by_data.BYDAY[i]);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var dayOfMonth = this.last.nthWeekDay(dow, pos);\n\n // If |pos| >= 6, the byday is invalid for a monthly rule.\n if (pos >= 6 || pos <= -6) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n // If a Byday with pos=+/-5 is not in the current month it\n // must be searched in the next months.\n if (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n // Skip if we have already found a \"last\" in this month.\n if (tempLast && tempLast.month == initLast.month) {\n continue;\n }\n while (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n this.increment_month();\n daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n dayOfMonth = this.last.nthWeekDay(dow, pos);\n }\n }\n\n this.last.day = dayOfMonth;\n if (!tempLast || this.last.compare(tempLast) < 0) {\n tempLast = this.last.clone();\n }\n }\n this.last = tempLast.clone();\n\n //XXX: This feels like a hack, but we need to initialize\n // the BYMONTHDAY case correctly and byDayAndMonthDay handles\n // this case. It accepts a special flag which will avoid incrementing\n // the initial value without the flag days that match the start time\n // would be missed.\n if (this.has_by_data('BYMONTHDAY')) {\n this._byDayAndMonthDay(true);\n }\n\n if (this.last.day > daysInMonth || this.last.day == 0) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n if (this.last.day < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day = daysInMonth + this.last.day + 1;\n }\n }\n\n },\n\n /**\n * Retrieve the next occurrence from the iterator.\n * @return {ICAL.Time}\n */\n next: function icalrecur_iterator_next() {\n var before = (this.last ? this.last.clone() : null);\n\n if ((this.rule.count && this.occurrence_number >= this.rule.count) ||\n (this.rule.until && this.last.compare(this.rule.until) > 0)) {\n\n //XXX: right now this is just a flag and has no impact\n // we can simplify the above case to check for completed later.\n this.completed = true;\n\n return null;\n }\n\n if (this.occurrence_number == 0 && this.last.compare(this.dtstart) >= 0) {\n // First of all, give the instance that was initialized\n this.occurrence_number++;\n return this.last;\n }\n\n\n var valid;\n do {\n valid = 1;\n\n switch (this.rule.freq) {\n case \"SECONDLY\":\n this.next_second();\n break;\n case \"MINUTELY\":\n this.next_minute();\n break;\n case \"HOURLY\":\n this.next_hour();\n break;\n case \"DAILY\":\n this.next_day();\n break;\n case \"WEEKLY\":\n this.next_week();\n break;\n case \"MONTHLY\":\n valid = this.next_month();\n break;\n case \"YEARLY\":\n this.next_year();\n break;\n\n default:\n return null;\n }\n } while (!this.check_contracting_rules() ||\n this.last.compare(this.dtstart) < 0 ||\n !valid);\n\n // TODO is this valid?\n if (this.last.compare(before) == 0) {\n throw new Error(\"Same occurrence found twice, protecting \" +\n \"you from death by recursion\");\n }\n\n if (this.rule.until && this.last.compare(this.rule.until) > 0) {\n this.completed = true;\n return null;\n } else {\n this.occurrence_number++;\n return this.last;\n }\n },\n\n next_second: function next_second() {\n return this.next_generic(\"BYSECOND\", \"SECONDLY\", \"second\", \"minute\");\n },\n\n increment_second: function increment_second(inc) {\n return this.increment_generic(inc, \"second\", 60, \"minute\");\n },\n\n next_minute: function next_minute() {\n return this.next_generic(\"BYMINUTE\", \"MINUTELY\",\n \"minute\", \"hour\", \"next_second\");\n },\n\n increment_minute: function increment_minute(inc) {\n return this.increment_generic(inc, \"minute\", 60, \"hour\");\n },\n\n next_hour: function next_hour() {\n return this.next_generic(\"BYHOUR\", \"HOURLY\", \"hour\",\n \"monthday\", \"next_minute\");\n },\n\n increment_hour: function increment_hour(inc) {\n this.increment_generic(inc, \"hour\", 24, \"monthday\");\n },\n\n next_day: function next_day() {\n var has_by_day = (\"BYDAY\" in this.by_data);\n var this_freq = (this.rule.freq == \"DAILY\");\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (this_freq) {\n this.increment_monthday(this.rule.interval);\n } else {\n this.increment_monthday(1);\n }\n\n return 0;\n },\n\n next_week: function next_week() {\n var end_of_data = 0;\n\n if (this.next_weekday_by_week() == 0) {\n return end_of_data;\n }\n\n if (this.has_by_data(\"BYWEEKNO\")) {\n var idx = ++this.by_indices.BYWEEKNO;\n\n if (this.by_indices.BYWEEKNO == this.by_data.BYWEEKNO.length) {\n this.by_indices.BYWEEKNO = 0;\n end_of_data = 1;\n }\n\n // HACK should be first month of the year\n this.last.month = 1;\n this.last.day = 1;\n\n var week_no = this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];\n\n this.last.day += 7 * week_no;\n\n if (end_of_data) {\n this.increment_year(1);\n }\n } else {\n // Jump to the next week\n this.increment_monthday(7 * this.rule.interval);\n }\n\n return end_of_data;\n },\n\n /**\n * Normalize each by day rule for a given year/month.\n * Takes into account ordering and negative rules\n *\n * @private\n * @param {Number} year Current year.\n * @param {Number} month Current month.\n * @param {Array} rules Array of rules.\n *\n * @return {Array} sorted and normalized rules.\n * Negative rules will be expanded to their\n * correct positive values for easier processing.\n */\n normalizeByMonthDayRules: function(year, month, rules) {\n var daysInMonth = ICAL.Time.daysInMonth(month, year);\n\n // XXX: This is probably bad for performance to allocate\n // a new array for each month we scan, if possible\n // we should try to optimize this...\n var newRules = [];\n\n var ruleIdx = 0;\n var len = rules.length;\n var rule;\n\n for (; ruleIdx < len; ruleIdx++) {\n rule = rules[ruleIdx];\n\n // if this rule falls outside of given\n // month discard it.\n if (Math.abs(rule) > daysInMonth) {\n continue;\n }\n\n // negative case\n if (rule < 0) {\n // we add (not subtract its a negative number)\n // one from the rule because 1 === last day of month\n rule = daysInMonth + (rule + 1);\n } else if (rule === 0) {\n // skip zero its invalid.\n continue;\n }\n\n // only add unique items...\n if (newRules.indexOf(rule) === -1) {\n newRules.push(rule);\n }\n\n }\n\n // unique and sort\n return newRules.sort(function(a, b) { return a - b; });\n },\n\n /**\n * NOTES:\n * We are given a list of dates in the month (BYMONTHDAY) (23, etc..)\n * Also we are given a list of days (BYDAY) (MO, 2SU, etc..) when\n * both conditions match a given date (this.last.day) iteration stops.\n *\n * @private\n * @param {Boolean=} isInit When given true will not increment the\n * current day (this.last).\n */\n _byDayAndMonthDay: function(isInit) {\n var byMonthDay; // setup in initMonth\n var byDay = this.by_data.BYDAY;\n\n var date;\n var dateIdx = 0;\n var dateLen; // setup in initMonth\n var dayLen = byDay.length;\n\n // we are not valid by default\n var dataIsValid = 0;\n\n var daysInMonth;\n var self = this;\n // we need a copy of this, because a DateTime gets normalized\n // automatically if the day is out of range. At some points we\n // set the last day to 0 to start counting.\n var lastDay = this.last.day;\n\n function initMonth() {\n daysInMonth = ICAL.Time.daysInMonth(\n self.last.month, self.last.year\n );\n\n byMonthDay = self.normalizeByMonthDayRules(\n self.last.year,\n self.last.month,\n self.by_data.BYMONTHDAY\n );\n\n dateLen = byMonthDay.length;\n\n // For the case of more than one occurrence in one month\n // we have to be sure to start searching after the last\n // found date or at the last BYMONTHDAY, unless we are\n // initializing the iterator because in this case we have\n // to consider the last found date too.\n while (byMonthDay[dateIdx] <= lastDay &&\n !(isInit && byMonthDay[dateIdx] == lastDay) &&\n dateIdx < dateLen - 1) {\n dateIdx++;\n }\n }\n\n function nextMonth() {\n // since the day is incremented at the start\n // of the loop below, we need to start at 0\n lastDay = 0;\n self.increment_month();\n dateIdx = 0;\n initMonth();\n }\n\n initMonth();\n\n // should come after initMonth\n if (isInit) {\n lastDay -= 1;\n }\n\n // Use a counter to avoid an infinite loop with malformed rules.\n // Stop checking after 4 years so we consider also a leap year.\n var monthsCounter = 48;\n\n while (!dataIsValid && monthsCounter) {\n monthsCounter--;\n // increment the current date. This is really\n // important otherwise we may fall into the infinite\n // loop trap. The initial date takes care of the case\n // where the current date is the date we are looking\n // for.\n date = lastDay + 1;\n\n if (date > daysInMonth) {\n nextMonth();\n continue;\n }\n\n // find next date\n var next = byMonthDay[dateIdx++];\n\n // this logic is dependant on the BYMONTHDAYS\n // being in order (which is done by #normalizeByMonthDayRules)\n if (next >= date) {\n // if the next month day is in the future jump to it.\n lastDay = next;\n } else {\n // in this case the 'next' monthday has past\n // we must move to the month.\n nextMonth();\n continue;\n }\n\n // Now we can loop through the day rules to see\n // if one matches the current month date.\n for (var dayIdx = 0; dayIdx < dayLen; dayIdx++) {\n var parts = this.ruleDayOfWeek(byDay[dayIdx]);\n var pos = parts[0];\n var dow = parts[1];\n\n this.last.day = lastDay;\n if (this.last.isNthWeekDay(dow, pos)) {\n // when we find the valid one we can mark\n // the conditions as met and break the loop.\n // (Because we have this condition above\n // it will also break the parent loop).\n dataIsValid = 1;\n break;\n }\n }\n\n // Its completely possible that the combination\n // cannot be matched in the current month.\n // When we reach the end of possible combinations\n // in the current month we iterate to the next one.\n // since dateIdx is incremented right after getting\n // \"next\", we don't need dateLen -1 here.\n if (!dataIsValid && dateIdx === dateLen) {\n nextMonth();\n continue;\n }\n }\n\n if (monthsCounter <= 0) {\n // Checked 4 years without finding a Byday that matches\n // a Bymonthday. Maybe the rule is not correct.\n throw new Error(\"Malformed values in BYDAY combined with BYMONTHDAY parts\");\n }\n\n\n return dataIsValid;\n },\n\n next_month: function next_month() {\n var this_freq = (this.rule.freq == \"MONTHLY\");\n var data_valid = 1;\n\n if (this.next_hour() == 0) {\n return data_valid;\n }\n\n if (this.has_by_data(\"BYDAY\") && this.has_by_data(\"BYMONTHDAY\")) {\n data_valid = this._byDayAndMonthDay();\n } else if (this.has_by_data(\"BYDAY\")) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var setpos = 0;\n var setpos_total = 0;\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var last_day = this.last.day;\n for (var day = 1; day <= daysInMonth; day++) {\n this.last.day = day;\n if (this.is_day_in_byday(this.last)) {\n setpos_total++;\n if (day <= last_day) {\n setpos++;\n }\n }\n }\n this.last.day = last_day;\n }\n\n data_valid = 0;\n for (var day = this.last.day + 1; day <= daysInMonth; day++) {\n this.last.day = day;\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") ||\n this.check_set_position(++setpos) ||\n this.check_set_position(setpos - setpos_total - 1)) {\n\n data_valid = 1;\n break;\n }\n }\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n this.increment_month();\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") || this.check_set_position(1)) {\n data_valid = 1;\n }\n } else {\n data_valid = 0;\n }\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_indices.BYMONTHDAY++;\n\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n this.by_indices.BYMONTHDAY = 0;\n this.increment_month();\n }\n\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var day = this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];\n\n if (day < 0) {\n day = daysInMonth + day + 1;\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n data_valid = this.is_day_in_byday(this.last);\n } else {\n this.last.day = day;\n }\n\n } else {\n this.increment_month();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n if (this.by_data.BYMONTHDAY[0] > daysInMonth) {\n data_valid = 0;\n } else {\n this.last.day = this.by_data.BYMONTHDAY[0];\n }\n }\n\n return data_valid;\n },\n\n next_weekday_by_week: function next_weekday_by_week() {\n var end_of_data = 0;\n\n if (this.next_hour() == 0) {\n return end_of_data;\n }\n\n if (!this.has_by_data(\"BYDAY\")) {\n return 1;\n }\n\n for (;;) {\n var tt = new ICAL.Time();\n this.by_indices.BYDAY++;\n\n if (this.by_indices.BYDAY == Object.keys(this.by_data.BYDAY).length) {\n this.by_indices.BYDAY = 0;\n end_of_data = 1;\n }\n\n var coded_day = this.by_data.BYDAY[this.by_indices.BYDAY];\n var parts = this.ruleDayOfWeek(coded_day);\n var dow = parts[1];\n\n dow -= this.rule.wkst;\n\n if (dow < 0) {\n dow += 7;\n }\n\n tt.year = this.last.year;\n tt.month = this.last.month;\n tt.day = this.last.day;\n\n var startOfWeek = tt.startDoyWeek(this.rule.wkst);\n\n if (dow + startOfWeek < 1) {\n // The selected date is in the previous year\n if (!end_of_data) {\n continue;\n }\n }\n\n var next = ICAL.Time.fromDayOfYear(startOfWeek + dow,\n this.last.year);\n\n /**\n * The normalization horrors below are due to\n * the fact that when the year/month/day changes\n * it can effect the other operations that come after.\n */\n this.last.year = next.year;\n this.last.month = next.month;\n this.last.day = next.day;\n\n return end_of_data;\n }\n },\n\n next_year: function next_year() {\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (++this.days_index == this.days.length) {\n this.days_index = 0;\n do {\n this.increment_year(this.rule.interval);\n this.expand_year_days(this.last.year);\n } while (this.days.length == 0);\n }\n\n this._nextByYearDay();\n\n return 1;\n },\n\n _nextByYearDay: function _nextByYearDay() {\n var doy = this.days[this.days_index];\n var year = this.last.year;\n if (doy < 1) {\n // Time.fromDayOfYear(doy, year) indexes relative to the\n // start of the given year. That is different from the\n // semantics of BYYEARDAY where negative indexes are an\n // offset from the end of the given year.\n doy += 1;\n year += 1;\n }\n var next = ICAL.Time.fromDayOfYear(doy, year);\n this.last.day = next.day;\n this.last.month = next.month;\n },\n\n /**\n * @param dow (eg: '1TU', '-1MO')\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday\n * @return [pos, numericDow] (eg: [1, 3]) numericDow is relative to aWeekStart\n */\n ruleDayOfWeek: function ruleDayOfWeek(dow, aWeekStart) {\n var matches = dow.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);\n if (matches) {\n var pos = parseInt(matches[1] || 0, 10);\n dow = ICAL.Recur.icalDayToNumericDay(matches[2], aWeekStart);\n return [pos, dow];\n } else {\n return [0, 0];\n }\n },\n\n next_generic: function next_generic(aRuleType, aInterval, aDateAttr,\n aFollowingAttr, aPreviousIncr) {\n var has_by_rule = (aRuleType in this.by_data);\n var this_freq = (this.rule.freq == aInterval);\n var end_of_data = 0;\n\n if (aPreviousIncr && this[aPreviousIncr]() == 0) {\n return end_of_data;\n }\n\n if (has_by_rule) {\n this.by_indices[aRuleType]++;\n var idx = this.by_indices[aRuleType];\n var dta = this.by_data[aRuleType];\n\n if (this.by_indices[aRuleType] == dta.length) {\n this.by_indices[aRuleType] = 0;\n end_of_data = 1;\n }\n this.last[aDateAttr] = dta[this.by_indices[aRuleType]];\n } else if (this_freq) {\n this[\"increment_\" + aDateAttr](this.rule.interval);\n }\n\n if (has_by_rule && end_of_data && this_freq) {\n this[\"increment_\" + aFollowingAttr](1);\n }\n\n return end_of_data;\n },\n\n increment_monthday: function increment_monthday(inc) {\n for (var i = 0; i < inc; i++) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day++;\n\n if (this.last.day > daysInMonth) {\n this.last.day -= daysInMonth;\n this.increment_month();\n }\n }\n },\n\n increment_month: function increment_month() {\n this.last.day = 1;\n if (this.has_by_data(\"BYMONTH\")) {\n this.by_indices.BYMONTH++;\n\n if (this.by_indices.BYMONTH == this.by_data.BYMONTH.length) {\n this.by_indices.BYMONTH = 0;\n this.increment_year(1);\n }\n\n this.last.month = this.by_data.BYMONTH[this.by_indices.BYMONTH];\n } else {\n if (this.rule.freq == \"MONTHLY\") {\n this.last.month += this.rule.interval;\n } else {\n this.last.month++;\n }\n\n this.last.month--;\n var years = ICAL.helpers.trunc(this.last.month / 12);\n this.last.month %= 12;\n this.last.month++;\n\n if (years != 0) {\n this.increment_year(years);\n }\n }\n },\n\n increment_year: function increment_year(inc) {\n this.last.year += inc;\n },\n\n increment_generic: function increment_generic(inc, aDateAttr,\n aFactor, aNextIncrement) {\n this.last[aDateAttr] += inc;\n var nextunit = ICAL.helpers.trunc(this.last[aDateAttr] / aFactor);\n this.last[aDateAttr] %= aFactor;\n if (nextunit != 0) {\n this[\"increment_\" + aNextIncrement](nextunit);\n }\n },\n\n has_by_data: function has_by_data(aRuleType) {\n return (aRuleType in this.rule.parts);\n },\n\n expand_year_days: function expand_year_days(aYear) {\n var t = new ICAL.Time();\n this.days = [];\n\n // We need our own copy with a few keys set\n var parts = {};\n var rules = [\"BYDAY\", \"BYWEEKNO\", \"BYMONTHDAY\", \"BYMONTH\", \"BYYEARDAY\"];\n for (var p in rules) {\n /* istanbul ignore else */\n if (rules.hasOwnProperty(p)) {\n var part = rules[p];\n if (part in this.rule.parts) {\n parts[part] = this.rule.parts[part];\n }\n }\n }\n\n if (\"BYMONTH\" in parts && \"BYWEEKNO\" in parts) {\n var valid = 1;\n var validWeeks = {};\n t.year = aYear;\n t.isDate = true;\n\n for (var monthIdx = 0; monthIdx < this.by_data.BYMONTH.length; monthIdx++) {\n var month = this.by_data.BYMONTH[monthIdx];\n t.month = month;\n t.day = 1;\n var first_week = t.weekNumber(this.rule.wkst);\n t.day = ICAL.Time.daysInMonth(month, aYear);\n var last_week = t.weekNumber(this.rule.wkst);\n for (monthIdx = first_week; monthIdx < last_week; monthIdx++) {\n validWeeks[monthIdx] = 1;\n }\n }\n\n for (var weekIdx = 0; weekIdx < this.by_data.BYWEEKNO.length && valid; weekIdx++) {\n var weekno = this.by_data.BYWEEKNO[weekIdx];\n if (weekno < 52) {\n valid &= validWeeks[weekIdx];\n } else {\n valid = 0;\n }\n }\n\n if (valid) {\n delete parts.BYMONTH;\n } else {\n delete parts.BYWEEKNO;\n }\n }\n\n var partCount = Object.keys(parts).length;\n\n if (partCount == 0) {\n var t1 = this.dtstart.clone();\n t1.year = this.last.year;\n this.days.push(t1.dayOfYear());\n } else if (partCount == 1 && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var t2 = this.dtstart.clone();\n t2.year = aYear;\n t2.month = this.by_data.BYMONTH[monthkey];\n t2.isDate = true;\n this.days.push(t2.dayOfYear());\n }\n } else if (partCount == 1 && \"BYMONTHDAY\" in parts) {\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var t3 = this.dtstart.clone();\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(t3.month, aYear);\n day_ = day_ + daysInMonth + 1;\n }\n t3.day = day_;\n t3.year = aYear;\n t3.isDate = true;\n this.days.push(t3.dayOfYear());\n }\n } else if (partCount == 2 &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month_ = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month_, aYear);\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n day_ = day_ + daysInMonth + 1;\n }\n t.day = day_;\n t.month = month_;\n t.year = aYear;\n t.isDate = true;\n\n this.days.push(t.dayOfYear());\n }\n }\n } else if (partCount == 1 && \"BYWEEKNO\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 2 &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 1 && \"BYDAY\" in parts) {\n this.days = this.days.concat(this.expand_by_day(aYear));\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month, aYear);\n\n t.year = aYear;\n t.month = this.by_data.BYMONTH[monthkey];\n t.day = 1;\n t.isDate = true;\n\n var first_dow = t.dayOfWeek();\n var doy_offset = t.dayOfYear() - 1;\n\n t.day = daysInMonth;\n var last_dow = t.dayOfWeek();\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var set_pos_counter = 0;\n var by_month_day = [];\n for (var day = 1; day <= daysInMonth; day++) {\n t.day = day;\n if (this.is_day_in_byday(t)) {\n by_month_day.push(day);\n }\n }\n\n for (var spIndex = 0; spIndex < by_month_day.length; spIndex++) {\n if (this.check_set_position(spIndex + 1) ||\n this.check_set_position(spIndex - by_month_day.length)) {\n this.days.push(doy_offset + by_month_day[spIndex]);\n }\n }\n } else {\n for (var daycodedkey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daycodedkey)) {\n continue;\n }\n var coded_day = this.by_data.BYDAY[daycodedkey];\n var bydayParts = this.ruleDayOfWeek(coded_day);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var month_day;\n\n var first_matching_day = ((dow + 7 - first_dow) % 7) + 1;\n var last_matching_day = daysInMonth - ((last_dow + 7 - dow) % 7);\n\n if (pos == 0) {\n for (var day = first_matching_day; day <= daysInMonth; day += 7) {\n this.days.push(doy_offset + day);\n }\n } else if (pos > 0) {\n month_day = first_matching_day + (pos - 1) * 7;\n\n if (month_day <= daysInMonth) {\n this.days.push(doy_offset + month_day);\n }\n } else {\n month_day = last_matching_day + (pos + 1) * 7;\n\n if (month_day > 0) {\n this.days.push(doy_offset + month_day);\n }\n }\n }\n }\n }\n // Return dates in order of occurrence (1,2,3,...) instead\n // of by groups of weekdays (1,8,15,...,2,9,16,...).\n this.days.sort(function(a, b) { return a - b; }); // Comparator function allows to sort numbers.\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTHDAY\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n if (this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n\n if (this.by_data.BYMONTH.indexOf(tt.month) >= 0 &&\n this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYWEEKNO\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n var weekno = tt.weekNumber(this.rule.wkst);\n\n if (this.by_data.BYWEEKNO.indexOf(weekno)) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemted in libical\n } else if (partCount == 1 && \"BYYEARDAY\" in parts) {\n this.days = this.days.concat(this.by_data.BYYEARDAY);\n } else {\n this.days = [];\n }\n return 0;\n },\n\n expand_by_day: function expand_by_day(aYear) {\n\n var days_list = [];\n var tmp = this.last.clone();\n\n tmp.year = aYear;\n tmp.month = 1;\n tmp.day = 1;\n tmp.isDate = true;\n\n var start_dow = tmp.dayOfWeek();\n\n tmp.month = 12;\n tmp.day = 31;\n tmp.isDate = true;\n\n var end_dow = tmp.dayOfWeek();\n var end_year_day = tmp.dayOfYear();\n\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n\n if (pos == 0) {\n var tmp_start_doy = ((dow + 7 - start_dow) % 7) + 1;\n\n for (var doy = tmp_start_doy; doy <= end_year_day; doy += 7) {\n days_list.push(doy);\n }\n\n } else if (pos > 0) {\n var first;\n if (dow >= start_dow) {\n first = dow - start_dow + 1;\n } else {\n first = dow - start_dow + 8;\n }\n\n days_list.push(first + (pos - 1) * 7);\n } else {\n var last;\n pos = -pos;\n\n if (dow <= end_dow) {\n last = end_year_day - end_dow + dow;\n } else {\n last = end_year_day - end_dow + dow - 7;\n }\n\n days_list.push(last - (pos - 1) * 7);\n }\n }\n return days_list;\n },\n\n is_day_in_byday: function is_day_in_byday(tt) {\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n var this_dow = tt.dayOfWeek();\n\n if ((pos == 0 && dow == this_dow) ||\n (tt.nthWeekDay(dow, pos) == tt.day)) {\n return 1;\n }\n }\n\n return 0;\n },\n\n /**\n * Checks if given value is in BYSETPOS.\n *\n * @private\n * @param {Numeric} aPos position to check for.\n * @return {Boolean} false unless BYSETPOS rules exist\n * and the given value is present in rules.\n */\n check_set_position: function check_set_position(aPos) {\n if (this.has_by_data('BYSETPOS')) {\n var idx = this.by_data.BYSETPOS.indexOf(aPos);\n // negative numbers are not false-y\n return idx !== -1;\n }\n return false;\n },\n\n sort_byday_rules: function icalrecur_sort_byday_rules(aRules) {\n for (var i = 0; i < aRules.length; i++) {\n for (var j = 0; j < i; j++) {\n var one = this.ruleDayOfWeek(aRules[j], this.rule.wkst)[1];\n var two = this.ruleDayOfWeek(aRules[i], this.rule.wkst)[1];\n\n if (one > two) {\n var tmp = aRules[i];\n aRules[i] = aRules[j];\n aRules[j] = tmp;\n }\n }\n }\n },\n\n check_contract_restriction: function check_contract_restriction(aRuleType, v) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n var pass = false;\n\n if (aRuleType in this.by_data &&\n ruleMapValue == icalrecur_iterator.CONTRACT) {\n\n var ruleType = this.by_data[aRuleType];\n\n for (var bydatakey in ruleType) {\n /* istanbul ignore else */\n if (ruleType.hasOwnProperty(bydatakey)) {\n if (ruleType[bydatakey] == v) {\n pass = true;\n break;\n }\n }\n }\n } else {\n // Not a contracting byrule or has no data, test passes\n pass = true;\n }\n return pass;\n },\n\n check_contracting_rules: function check_contracting_rules() {\n var dow = this.last.dayOfWeek();\n var weekNo = this.last.weekNumber(this.rule.wkst);\n var doy = this.last.dayOfYear();\n\n return (this.check_contract_restriction(\"BYSECOND\", this.last.second) &&\n this.check_contract_restriction(\"BYMINUTE\", this.last.minute) &&\n this.check_contract_restriction(\"BYHOUR\", this.last.hour) &&\n this.check_contract_restriction(\"BYDAY\", ICAL.Recur.numericDayToIcalDay(dow)) &&\n this.check_contract_restriction(\"BYWEEKNO\", weekNo) &&\n this.check_contract_restriction(\"BYMONTHDAY\", this.last.day) &&\n this.check_contract_restriction(\"BYMONTH\", this.last.month) &&\n this.check_contract_restriction(\"BYYEARDAY\", doy));\n },\n\n setup_defaults: function setup_defaults(aRuleType, req, deftime) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n\n if (ruleMapValue != icalrecur_iterator.CONTRACT) {\n if (!(aRuleType in this.by_data)) {\n this.by_data[aRuleType] = [deftime];\n }\n if (this.rule.freq != req) {\n return this.by_data[aRuleType][0];\n }\n }\n return deftime;\n },\n\n /**\n * Convert iterator into a serialize-able object. Will preserve current\n * iteration sequence to ensure the seamless continuation of the recurrence\n * rule.\n * @return {Object}\n */\n toJSON: function() {\n var result = Object.create(null);\n\n result.initialized = this.initialized;\n result.rule = this.rule.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.by_data = this.by_data;\n result.days = this.days;\n result.last = this.last.toJSON();\n result.by_indices = this.by_indices;\n result.occurrence_number = this.occurrence_number;\n\n return result;\n }\n };\n\n icalrecur_iterator._indexMap = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 1,\n \"BYHOUR\": 2,\n \"BYDAY\": 3,\n \"BYMONTHDAY\": 4,\n \"BYYEARDAY\": 5,\n \"BYWEEKNO\": 6,\n \"BYMONTH\": 7,\n \"BYSETPOS\": 8\n };\n\n icalrecur_iterator._expandMap = {\n \"SECONDLY\": [1, 1, 1, 1, 1, 1, 1, 1],\n \"MINUTELY\": [2, 1, 1, 1, 1, 1, 1, 1],\n \"HOURLY\": [2, 2, 1, 1, 1, 1, 1, 1],\n \"DAILY\": [2, 2, 2, 1, 1, 1, 1, 1],\n \"WEEKLY\": [2, 2, 2, 2, 3, 3, 1, 1],\n \"MONTHLY\": [2, 2, 2, 2, 2, 3, 3, 1],\n \"YEARLY\": [2, 2, 2, 2, 2, 2, 2, 2]\n };\n icalrecur_iterator.UNKNOWN = 0;\n icalrecur_iterator.CONTRACT = 1;\n icalrecur_iterator.EXPAND = 2;\n icalrecur_iterator.ILLEGAL = 3;\n\n return icalrecur_iterator;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurExpansion = (function() {\n function formatTime(item) {\n return ICAL.helpers.formatClassType(item, ICAL.Time);\n }\n\n function compareTime(a, b) {\n return a.compare(b);\n }\n\n function isRecurringComponent(comp) {\n return comp.hasProperty('rdate') ||\n comp.hasProperty('rrule') ||\n comp.hasProperty('recurrence-id');\n }\n\n /**\n * @classdesc\n * Primary class for expanding recurring rules. Can take multiple rrules,\n * rdates, exdate(s) and iterate (in order) over each next occurrence.\n *\n * Once initialized this class can also be serialized saved and continue\n * iteration from the last point.\n *\n * NOTE: it is intended that this class is to be used\n * with ICAL.Event which handles recurrence exceptions.\n *\n * @example\n * // assuming event is a parsed ical component\n * var event;\n *\n * var expand = new ICAL.RecurExpansion({\n * component: event,\n * dtstart: event.getFirstPropertyValue('dtstart')\n * });\n *\n * // remember there are infinite rules\n * // so its a good idea to limit the scope\n * // of the iterations then resume later on.\n *\n * // next is always an ICAL.Time or null\n * var next;\n *\n * while (someCondition && (next = expand.next())) {\n * // do something with next\n * }\n *\n * // save instance for later\n * var json = JSON.stringify(expand);\n *\n * //...\n *\n * // NOTE: if the component's properties have\n * // changed you will need to rebuild the\n * // class and start over. This only works\n * // when the component's recurrence info is the same.\n * var expand = new ICAL.RecurExpansion(JSON.parse(json));\n *\n * @description\n * The options object can be filled with the specified initial values. It can\n * also contain additional members, as a result of serializing a previous\n * expansion state, as shown in the example.\n *\n * @class\n * @alias ICAL.RecurExpansion\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n function RecurExpansion(options) {\n this.ruleDates = [];\n this.exDates = [];\n this.fromData(options);\n }\n\n RecurExpansion.prototype = {\n /**\n * True when iteration is fully completed.\n * @type {Boolean}\n */\n complete: false,\n\n /**\n * Array of rrule iterators.\n *\n * @type {ICAL.RecurIterator[]}\n * @private\n */\n ruleIterators: null,\n\n /**\n * Array of rdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n ruleDates: null,\n\n /**\n * Array of exdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n exDates: null,\n\n /**\n * Current position in ruleDates array.\n * @type {Number}\n * @private\n */\n ruleDateInc: 0,\n\n /**\n * Current position in exDates array\n * @type {Number}\n * @private\n */\n exDateInc: 0,\n\n /**\n * Current negative date.\n *\n * @type {ICAL.Time}\n * @private\n */\n exDate: null,\n\n /**\n * Current additional date.\n *\n * @type {ICAL.Time}\n * @private\n */\n ruleDate: null,\n\n /**\n * Start date of recurring rules.\n *\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * Last expanded time\n *\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * Initialize the recurrence expansion from the data object. The options\n * object may also contain additional members, see the\n * {@link ICAL.RecurExpansion constructor} for more details.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n fromData: function(options) {\n var start = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!start) {\n throw new Error('.dtstart (ICAL.Time) must be given');\n } else {\n this.dtstart = start;\n }\n\n if (options.component) {\n this._init(options.component);\n } else {\n this.last = formatTime(options.last) || start.clone();\n\n if (!options.ruleIterators) {\n throw new Error('.ruleIterators or .component must be given');\n }\n\n this.ruleIterators = options.ruleIterators.map(function(item) {\n return ICAL.helpers.formatClassType(item, ICAL.RecurIterator);\n });\n\n this.ruleDateInc = options.ruleDateInc;\n this.exDateInc = options.exDateInc;\n\n if (options.ruleDates) {\n this.ruleDates = options.ruleDates.map(formatTime);\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (options.exDates) {\n this.exDates = options.exDates.map(formatTime);\n this.exDate = this.exDates[this.exDateInc];\n }\n\n if (typeof(options.complete) !== 'undefined') {\n this.complete = options.complete;\n }\n }\n },\n\n /**\n * Retrieve the next occurrence in the series.\n * @return {ICAL.Time}\n */\n next: function() {\n var iter;\n var ruleOfDay;\n var next;\n var compare;\n\n var maxTries = 500;\n var currentTry = 0;\n\n while (true) {\n if (currentTry++ > maxTries) {\n throw new Error(\n 'max tries have occured, rule may be impossible to forfill.'\n );\n }\n\n next = this.ruleDate;\n iter = this._nextRecurrenceIter(this.last);\n\n // no more matches\n // because we increment the rule day or rule\n // _after_ we choose a value this should be\n // the only spot where we need to worry about the\n // end of events.\n if (!next && !iter) {\n // there are no more iterators or rdates\n this.complete = true;\n break;\n }\n\n // no next rule day or recurrence rule is first.\n if (!next || (iter && next.compare(iter.last) > 0)) {\n // must be cloned, recur will reuse the time element.\n next = iter.last.clone();\n // move to next so we can continue\n iter.next();\n }\n\n // if the ruleDate is still next increment it.\n if (this.ruleDate === next) {\n this._nextRuleDay();\n }\n\n this.last = next;\n\n // check the negative rules\n if (this.exDate) {\n compare = this.exDate.compare(this.last);\n\n if (compare < 0) {\n this._nextExDay();\n }\n\n // if the current rule is excluded skip it.\n if (compare === 0) {\n this._nextExDay();\n continue;\n }\n }\n\n //XXX: The spec states that after we resolve the final\n // list of dates we execute exdate this seems somewhat counter\n // intuitive to what I have seen most servers do so for now\n // I exclude based on the original date not the one that may\n // have been modified by the exception.\n return this.last;\n }\n },\n\n /**\n * Converts object into a serialize-able format. This format can be passed\n * back into the expansion to resume iteration.\n * @return {Object}\n */\n toJSON: function() {\n function toJSON(item) {\n return item.toJSON();\n }\n\n var result = Object.create(null);\n result.ruleIterators = this.ruleIterators.map(toJSON);\n\n if (this.ruleDates) {\n result.ruleDates = this.ruleDates.map(toJSON);\n }\n\n if (this.exDates) {\n result.exDates = this.exDates.map(toJSON);\n }\n\n result.ruleDateInc = this.ruleDateInc;\n result.exDateInc = this.exDateInc;\n result.last = this.last.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.complete = this.complete;\n\n return result;\n },\n\n /**\n * Extract all dates from the properties in the given component. The\n * properties will be filtered by the property name.\n *\n * @private\n * @param {ICAL.Component} component The component to search in\n * @param {String} propertyName The property name to search for\n * @return {ICAL.Time[]} The extracted dates.\n */\n _extractDates: function(component, propertyName) {\n function handleProp(prop) {\n idx = ICAL.helpers.binsearchInsert(\n result,\n prop,\n compareTime\n );\n\n // ordered insert\n result.splice(idx, 0, prop);\n }\n\n var result = [];\n var props = component.getAllProperties(propertyName);\n var len = props.length;\n var i = 0;\n var prop;\n\n var idx;\n\n for (; i < len; i++) {\n props[i].getValues().forEach(handleProp);\n }\n\n return result;\n },\n\n /**\n * Initialize the recurrence expansion.\n *\n * @private\n * @param {ICAL.Component} component The component to initialize from.\n */\n _init: function(component) {\n this.ruleIterators = [];\n\n this.last = this.dtstart.clone();\n\n // to provide api consistency non-recurring\n // events can also use the iterator though it will\n // only return a single time.\n if (!isRecurringComponent(component)) {\n this.ruleDate = this.last.clone();\n this.complete = true;\n return;\n }\n\n if (component.hasProperty('rdate')) {\n this.ruleDates = this._extractDates(component, 'rdate');\n\n // special hack for cases where first rdate is prior\n // to the start date. We only check for the first rdate.\n // This is mostly for google's crazy recurring date logic\n // (contacts birthdays).\n if ((this.ruleDates[0]) &&\n (this.ruleDates[0].compare(this.dtstart) < 0)) {\n\n this.ruleDateInc = 0;\n this.last = this.ruleDates[0].clone();\n } else {\n this.ruleDateInc = ICAL.helpers.binsearchInsert(\n this.ruleDates,\n this.last,\n compareTime\n );\n }\n\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (component.hasProperty('rrule')) {\n var rules = component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n\n var rule;\n var iter;\n\n for (; i < len; i++) {\n rule = rules[i].getFirstValue();\n iter = rule.iterator(this.dtstart);\n this.ruleIterators.push(iter);\n\n // increment to the next occurrence so future\n // calls to next return times beyond the initial iteration.\n // XXX: I find this suspicious might be a bug?\n iter.next();\n }\n }\n\n if (component.hasProperty('exdate')) {\n this.exDates = this._extractDates(component, 'exdate');\n // if we have a .last day we increment the index to beyond it.\n this.exDateInc = ICAL.helpers.binsearchInsert(\n this.exDates,\n this.last,\n compareTime\n );\n\n this.exDate = this.exDates[this.exDateInc];\n }\n },\n\n /**\n * Advance to the next exdate\n * @private\n */\n _nextExDay: function() {\n this.exDate = this.exDates[++this.exDateInc];\n },\n\n /**\n * Advance to the next rule date\n * @private\n */\n _nextRuleDay: function() {\n this.ruleDate = this.ruleDates[++this.ruleDateInc];\n },\n\n /**\n * Find and return the recurrence rule with the most recent event and\n * return it.\n *\n * @private\n * @return {?ICAL.RecurIterator} Found iterator.\n */\n _nextRecurrenceIter: function() {\n var iters = this.ruleIterators;\n\n if (iters.length === 0) {\n return null;\n }\n\n var len = iters.length;\n var iter;\n var iterTime;\n var iterIdx = 0;\n var chosenIter;\n\n // loop through each iterator\n for (; iterIdx < len; iterIdx++) {\n iter = iters[iterIdx];\n iterTime = iter.last;\n\n // if iteration is complete\n // then we must exclude it from\n // the search and remove it.\n if (iter.completed) {\n len--;\n if (iterIdx !== 0) {\n iterIdx--;\n }\n iters.splice(iterIdx, 1);\n continue;\n }\n\n // find the most recent possible choice\n if (!chosenIter || chosenIter.last.compare(iterTime) > 0) {\n // that iterator is saved\n chosenIter = iter;\n }\n }\n\n // the chosen iterator is returned but not mutated\n // this iterator contains the most recent event.\n return chosenIter;\n }\n };\n\n return RecurExpansion;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Event = (function() {\n\n /**\n * @classdesc\n * ICAL.js is organized into multiple layers. The bottom layer is a raw jCal\n * object, followed by the component/property layer. The highest level is the\n * event representation, which this class is part of. See the\n * {@tutorial layers} guide for more details.\n *\n * @class\n * @alias ICAL.Event\n * @param {ICAL.Component=} component The ICAL.Component to base this event on\n * @param {Object} options Options for this event\n * @param {Boolean} options.strictExceptions\n * When true, will verify exceptions are related by their UUID\n * @param {Array<ICAL.Component|ICAL.Event>} options.exceptions\n * Exceptions to this event, either as components or events. If not\n * specified exceptions will automatically be set in relation of\n * component's parent\n */\n function Event(component, options) {\n if (!(component instanceof ICAL.Component)) {\n options = component;\n component = null;\n }\n\n if (component) {\n this.component = component;\n } else {\n this.component = new ICAL.Component('vevent');\n }\n\n this._rangeExceptionCache = Object.create(null);\n this.exceptions = Object.create(null);\n this.rangeExceptions = [];\n\n if (options && options.strictExceptions) {\n this.strictExceptions = options.strictExceptions;\n }\n\n if (options && options.exceptions) {\n options.exceptions.forEach(this.relateException, this);\n } else if (this.component.parent && !this.isRecurrenceException()) {\n this.component.parent.getAllSubcomponents('vevent').forEach(function(event) {\n if (event.hasProperty('recurrence-id')) {\n this.relateException(event);\n }\n }, this);\n }\n }\n\n Event.prototype = {\n\n THISANDFUTURE: 'THISANDFUTURE',\n\n /**\n * List of related event exceptions.\n *\n * @type {ICAL.Event[]}\n */\n exceptions: null,\n\n /**\n * When true, will verify exceptions are related by their UUID.\n *\n * @type {Boolean}\n */\n strictExceptions: false,\n\n /**\n * Relates a given event exception to this object. If the given component\n * does not share the UID of this event it cannot be related and will throw\n * an exception.\n *\n * If this component is an exception it cannot have other exceptions\n * related to it.\n *\n * @param {ICAL.Component|ICAL.Event} obj Component or event\n */\n relateException: function(obj) {\n if (this.isRecurrenceException()) {\n throw new Error('cannot relate exception to exceptions');\n }\n\n if (obj instanceof ICAL.Component) {\n obj = new ICAL.Event(obj);\n }\n\n if (this.strictExceptions && obj.uid !== this.uid) {\n throw new Error('attempted to relate unrelated exception');\n }\n\n var id = obj.recurrenceId.toString();\n\n // we don't sort or manage exceptions directly\n // here the recurrence expander handles that.\n this.exceptions[id] = obj;\n\n // index RANGE=THISANDFUTURE exceptions so we can\n // look them up later in getOccurrenceDetails.\n if (obj.modifiesFuture()) {\n var item = [\n obj.recurrenceId.toUnixTime(), id\n ];\n\n // we keep them sorted so we can find the nearest\n // value later on...\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n item,\n compareRangeException\n );\n\n this.rangeExceptions.splice(idx, 0, item);\n }\n },\n\n /**\n * Checks if this record is an exception and has the RANGE=THISANDFUTURE\n * value.\n *\n * @return {Boolean} True, when exception is within range\n */\n modifiesFuture: function() {\n if (!this.component.hasProperty('recurrence-id')) {\n return false;\n }\n\n var range = this.component.getFirstProperty('recurrence-id').getParameter('range');\n return range === this.THISANDFUTURE;\n },\n\n /**\n * Finds the range exception nearest to the given date.\n *\n * @param {ICAL.Time} time usually an occurrence time of an event\n * @return {?ICAL.Event} the related event/exception or null\n */\n findRangeException: function(time) {\n if (!this.rangeExceptions.length) {\n return null;\n }\n\n var utc = time.toUnixTime();\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n [utc],\n compareRangeException\n );\n\n idx -= 1;\n\n // occurs before\n if (idx < 0) {\n return null;\n }\n\n var rangeItem = this.rangeExceptions[idx];\n\n /* istanbul ignore next: sanity check only */\n if (utc < rangeItem[0]) {\n return null;\n }\n\n return rangeItem[1];\n },\n\n /**\n * This object is returned by {@link ICAL.Event#getOccurrenceDetails getOccurrenceDetails}\n *\n * @typedef {Object} occurrenceDetails\n * @memberof ICAL.Event\n * @property {ICAL.Time} recurrenceId The passed in recurrence id\n * @property {ICAL.Event} item The occurrence\n * @property {ICAL.Time} startDate The start of the occurrence\n * @property {ICAL.Time} endDate The end of the occurrence\n */\n\n /**\n * Returns the occurrence details based on its start time. If the\n * occurrence has an exception will return the details for that exception.\n *\n * NOTE: this method is intend to be used in conjunction\n * with the {@link ICAL.Event#iterator iterator} method.\n *\n * @param {ICAL.Time} occurrence time occurrence\n * @return {ICAL.Event.occurrenceDetails} Information about the occurrence\n */\n getOccurrenceDetails: function(occurrence) {\n var id = occurrence.toString();\n var utcId = occurrence.convertToZone(ICAL.Timezone.utcTimezone).toString();\n var item;\n var result = {\n //XXX: Clone?\n recurrenceId: occurrence\n };\n\n if (id in this.exceptions) {\n item = result.item = this.exceptions[id];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else if (utcId in this.exceptions) {\n item = this.exceptions[utcId];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else {\n // range exceptions (RANGE=THISANDFUTURE) have a\n // lower priority then direct exceptions but\n // must be accounted for first. Their item is\n // always the first exception with the range prop.\n var rangeExceptionId = this.findRangeException(\n occurrence\n );\n var end;\n\n if (rangeExceptionId) {\n var exception = this.exceptions[rangeExceptionId];\n\n // range exception must modify standard time\n // by the difference (if any) in start/end times.\n result.item = exception;\n\n var startDiff = this._rangeExceptionCache[rangeExceptionId];\n\n if (!startDiff) {\n var original = exception.recurrenceId.clone();\n var newStart = exception.startDate.clone();\n\n // zones must be same otherwise subtract may be incorrect.\n original.zone = newStart.zone;\n startDiff = newStart.subtractDate(original);\n\n this._rangeExceptionCache[rangeExceptionId] = startDiff;\n }\n\n var start = occurrence.clone();\n start.zone = exception.startDate.zone;\n start.addDuration(startDiff);\n\n end = start.clone();\n end.addDuration(exception.duration);\n\n result.startDate = start;\n result.endDate = end;\n } else {\n // no range exception standard expansion\n end = occurrence.clone();\n end.addDuration(this.duration);\n\n result.endDate = end;\n result.startDate = occurrence;\n result.item = this;\n }\n }\n\n return result;\n },\n\n /**\n * Builds a recur expansion instance for a specific point in time (defaults\n * to startDate).\n *\n * @param {ICAL.Time} startTime Starting point for expansion\n * @return {ICAL.RecurExpansion} Expansion object\n */\n iterator: function(startTime) {\n return new ICAL.RecurExpansion({\n component: this.component,\n dtstart: startTime || this.startDate\n });\n },\n\n /**\n * Checks if the event is recurring\n *\n * @return {Boolean} True, if event is recurring\n */\n isRecurring: function() {\n var comp = this.component;\n return comp.hasProperty('rrule') || comp.hasProperty('rdate');\n },\n\n /**\n * Checks if the event describes a recurrence exception. See\n * {@tutorial terminology} for details.\n *\n * @return {Boolean} True, if the even describes a recurrence exception\n */\n isRecurrenceException: function() {\n return this.component.hasProperty('recurrence-id');\n },\n\n /**\n * Returns the types of recurrences this event may have.\n *\n * Returned as an object with the following possible keys:\n *\n * - YEARLY\n * - MONTHLY\n * - WEEKLY\n * - DAILY\n * - MINUTELY\n * - SECONDLY\n *\n * @return {Object.<ICAL.Recur.frequencyValues, Boolean>}\n * Object of recurrence flags\n */\n getRecurrenceTypes: function() {\n var rules = this.component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n var result = Object.create(null);\n\n for (; i < len; i++) {\n var value = rules[i].getFirstValue();\n result[value.freq] = true;\n }\n\n return result;\n },\n\n /**\n * The uid of this event\n * @type {String}\n */\n get uid() {\n return this._firstProp('uid');\n },\n\n set uid(value) {\n this._setProp('uid', value);\n },\n\n /**\n * The start date\n * @type {ICAL.Time}\n */\n get startDate() {\n return this._firstProp('dtstart');\n },\n\n set startDate(value) {\n this._setTime('dtstart', value);\n },\n\n /**\n * The end date. This can be the result directly from the property, or the\n * end date calculated from start date and duration. Setting the property\n * will remove any duration properties.\n * @type {ICAL.Time}\n */\n get endDate() {\n var endDate = this._firstProp('dtend');\n if (!endDate) {\n var duration = this._firstProp('duration');\n endDate = this.startDate.clone();\n if (duration) {\n endDate.addDuration(duration);\n } else if (endDate.isDate) {\n endDate.day += 1;\n }\n }\n return endDate;\n },\n\n set endDate(value) {\n if (this.component.hasProperty('duration')) {\n this.component.removeProperty('duration');\n }\n this._setTime('dtend', value);\n },\n\n /**\n * The duration. This can be the result directly from the property, or the\n * duration calculated from start date and end date. Setting the property\n * will remove any `dtend` properties.\n * @type {ICAL.Duration}\n */\n get duration() {\n var duration = this._firstProp('duration');\n if (!duration) {\n return this.endDate.subtractDateTz(this.startDate);\n }\n return duration;\n },\n\n set duration(value) {\n if (this.component.hasProperty('dtend')) {\n this.component.removeProperty('dtend');\n }\n\n this._setProp('duration', value);\n },\n\n /**\n * The location of the event.\n * @type {String}\n */\n get location() {\n return this._firstProp('location');\n },\n\n set location(value) {\n return this._setProp('location', value);\n },\n\n /**\n * The attendees in the event\n * @type {ICAL.Property[]}\n * @readonly\n */\n get attendees() {\n //XXX: This is way lame we should have a better\n // data structure for this later.\n return this.component.getAllProperties('attendee');\n },\n\n\n /**\n * The event summary\n * @type {String}\n */\n get summary() {\n return this._firstProp('summary');\n },\n\n set summary(value) {\n this._setProp('summary', value);\n },\n\n /**\n * The event description.\n * @type {String}\n */\n get description() {\n return this._firstProp('description');\n },\n\n set description(value) {\n this._setProp('description', value);\n },\n\n /**\n * The organizer value as an uri. In most cases this is a mailto: uri, but\n * it can also be something else, like urn:uuid:...\n * @type {String}\n */\n get organizer() {\n return this._firstProp('organizer');\n },\n\n set organizer(value) {\n this._setProp('organizer', value);\n },\n\n /**\n * The sequence value for this event. Used for scheduling\n * see {@tutorial terminology}.\n * @type {Number}\n */\n get sequence() {\n return this._firstProp('sequence');\n },\n\n set sequence(value) {\n this._setProp('sequence', value);\n },\n\n /**\n * The recurrence id for this event. See {@tutorial terminology} for details.\n * @type {ICAL.Time}\n */\n get recurrenceId() {\n return this._firstProp('recurrence-id');\n },\n\n set recurrenceId(value) {\n this._setTime('recurrence-id', value);\n },\n\n /**\n * Set/update a time property's value.\n * This will also update the TZID of the property.\n *\n * TODO: this method handles the case where we are switching\n * from a known timezone to an implied timezone (one without TZID).\n * This does _not_ handle the case of moving between a known\n * (by TimezoneService) timezone to an unknown timezone...\n *\n * We will not add/remove/update the VTIMEZONE subcomponents\n * leading to invalid ICAL data...\n * @private\n * @param {String} propName The property name\n * @param {ICAL.Time} time The time to set\n */\n _setTime: function(propName, time) {\n var prop = this.component.getFirstProperty(propName);\n\n if (!prop) {\n prop = new ICAL.Property(propName);\n this.component.addProperty(prop);\n }\n\n // utc and local don't get a tzid\n if (\n time.zone === ICAL.Timezone.localTimezone ||\n time.zone === ICAL.Timezone.utcTimezone\n ) {\n // remove the tzid\n prop.removeParameter('tzid');\n } else {\n prop.setParameter('tzid', time.zone.tzid);\n }\n\n prop.setValue(time);\n },\n\n _setProp: function(name, value) {\n this.component.updatePropertyWithValue(name, value);\n },\n\n _firstProp: function(name) {\n return this.component.getFirstPropertyValue(name);\n },\n\n /**\n * The string representation of this event.\n * @return {String}\n */\n toString: function() {\n return this.component.toString();\n }\n\n };\n\n function compareRangeException(a, b) {\n if (a[0] > b[0]) return 1;\n if (b[0] > a[0]) return -1;\n return 0;\n }\n\n return Event;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.ComponentParser = (function() {\n /**\n * @classdesc\n * The ComponentParser is used to process a String or jCal Object,\n * firing callbacks for various found components, as well as completion.\n *\n * @example\n * var options = {\n * // when false no events will be emitted for type\n * parseEvent: true,\n * parseTimezone: true\n * };\n *\n * var parser = new ICAL.ComponentParser(options);\n *\n * parser.onevent(eventComponent) {\n * //...\n * }\n *\n * // ontimezone, etc...\n *\n * parser.oncomplete = function() {\n *\n * };\n *\n * parser.process(stringOrComponent);\n *\n * @class\n * @alias ICAL.ComponentParser\n * @param {Object=} options Component parser options\n * @param {Boolean} options.parseEvent Whether events should be parsed\n * @param {Boolean} options.parseTimezeone Whether timezones should be parsed\n */\n function ComponentParser(options) {\n if (typeof(options) === 'undefined') {\n options = {};\n }\n\n var key;\n for (key in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(key)) {\n this[key] = options[key];\n }\n }\n }\n\n ComponentParser.prototype = {\n\n /**\n * When true, parse events\n *\n * @type {Boolean}\n */\n parseEvent: true,\n\n /**\n * When true, parse timezones\n *\n * @type {Boolean}\n */\n parseTimezone: true,\n\n\n /* SAX like events here for reference */\n\n /**\n * Fired when parsing is complete\n * @callback\n */\n oncomplete: /* istanbul ignore next */ function() {},\n\n /**\n * Fired if an error occurs during parsing.\n *\n * @callback\n * @param {Error} err details of error\n */\n onerror: /* istanbul ignore next */ function(err) {},\n\n /**\n * Fired when a top level component (VTIMEZONE) is found\n *\n * @callback\n * @param {ICAL.Timezone} component Timezone object\n */\n ontimezone: /* istanbul ignore next */ function(component) {},\n\n /**\n * Fired when a top level component (VEVENT) is found.\n *\n * @callback\n * @param {ICAL.Event} component Top level component\n */\n onevent: /* istanbul ignore next */ function(component) {},\n\n /**\n * Process a string or parse ical object. This function itself will return\n * nothing but will start the parsing process.\n *\n * Events must be registered prior to calling this method.\n *\n * @param {ICAL.Component|String|Object} ical The component to process,\n * either in its final form, as a jCal Object, or string representation\n */\n process: function(ical) {\n //TODO: this is sync now in the future we will have a incremental parser.\n if (typeof(ical) === 'string') {\n ical = ICAL.parse(ical);\n }\n\n if (!(ical instanceof ICAL.Component)) {\n ical = new ICAL.Component(ical);\n }\n\n var components = ical.getAllSubcomponents();\n var i = 0;\n var len = components.length;\n var component;\n\n for (; i < len; i++) {\n component = components[i];\n\n switch (component.name) {\n case 'vtimezone':\n if (this.parseTimezone) {\n var tzid = component.getFirstPropertyValue('tzid');\n if (tzid) {\n this.ontimezone(new ICAL.Timezone({\n tzid: tzid,\n component: component\n }));\n }\n }\n break;\n case 'vevent':\n if (this.parseEvent) {\n this.onevent(new ICAL.Event(component));\n }\n break;\n default:\n continue;\n }\n }\n\n //XXX: ideally we should do a \"nextTick\" here\n // so in all cases this is actually async.\n this.oncomplete();\n }\n };\n\n return ComponentParser;\n}());\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" 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 \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\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)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.assign.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n headers: {\n requesttoken: (0, _auth.getRequestToken)()\n }\n});\n\nvar cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n return client.defaults.headers.requesttoken = token;\n});\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n\n const _build = function (text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n return _build(url, params || {});\n};\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\n\n\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _generateUrlPath(url, params, options);\n }\n\n return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nconst imagePath = (app, file) => {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nconst generateFilePath = (app, type, file) => {\n const isCore = OC.coreApps.indexOf(app) !== -1;\n let link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nconst getRootUrl = () => OC.webroot;\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isSymbol = require('../internals/is-symbol');\n\nmodule.exports = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue === 'string' &&\n replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n replaceValue.indexOf('$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","module.exports = false;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.16.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = {};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n // eslint-disable-next-line max-statements -- TODO\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = patchedExec.call(raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = str.slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],e):\"object\"==typeof exports?exports[\"Components/Avatar\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=e())}(window,(function(){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=55)}([function(t,e,n){\"use strict\";function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var a,i,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(a=n.next()).done)&&(o.push(a.value),!e||o.length!==e);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}t.exports=function(t){var e=a(t,4),n=e[1],i=e[3];if(!i)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},a=[],i=0;i<t.length;i++){var o=t[i],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,e),references:1}),a.push(u)}return a}function c(t){var e=document.createElement(\"style\"),a=t.attributes||{};if(void 0===a.nonce){var i=n.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){e.setAttribute(t,a[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function m(t,e,n,a){var i=n?\"\":a.media?\"@media \".concat(a.media,\" {\").concat(a.css,\"}\"):a.css;if(t.styleSheet)t.styleSheet.cssText=d(e,i);else{var o=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,n){var a=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var g=null,h=0;function A(t,e){var n,a,i;if(e.singleton){var o=h++;n=g||(g=c(e)),a=m.bind(null,n,o,!1),i=m.bind(null,n,o,!0)}else n=c(e),a=p.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return a(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;a(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var a=0;a<n.length;a++){var i=s(n[a]);r[i].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return a}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var a=n(13),i=Object(a.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{\"\":e}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var a=n(5),i=n(2),o=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\na.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};e.default=a.VTooltip},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var a={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var a=n(6),i=new(n.n(a).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},,,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return a.default})),n.d(e,\"b\",(function(){return i.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return p}));var a=n(47),i=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function m(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var a,i,o,r,s,m,p,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(a=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(a,\"user_status\")&&a.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=e.sent,o=i.data,r=o.ocs.data,s=r.status,m=r.message,p=r.icon,n.userStatus.status=s,n.userStatus.message=m||\"\",n.userStatus.icon=p||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(a,i){var o=e.apply(t,n);function r(t){m(o,a,i,r,s,\"next\",t)}function s(t){m(o,a,i,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return f})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var a=n(43),i=n.n(a),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),m={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},p=n(2),g=n.n(p),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),b=Object(v.a)(m,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,f=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return i()(t).split(f).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),a=document.createElement(\"div\"),i=document.createElement(\"div\");a.style.display=\"none\",a.appendChild(i),document.body.appendChild(a),n.$mount(i);var o=a.innerHTML;return n.$destroy(),a.remove(),o}}}},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),m=r()(i.a),p=l()(c.a),g=l()(u.a),h=l()(d.a);m.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=m},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function a(t,e,n){this.r=t,this.g=e,this.b=n}function i(t,e,n){var i=[];i.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);i.push(new a(s,l,c))}return i}e.a=function(t){t||(t=6);var e=new a(182,70,157),n=new a(221,203,85),o=new a(0,130,201),r=i(t,e,n),s=i(t,n,o),l=i(t,o,e);return r.concat(s).concat(l)}},,,function(t,e,n){\"use strict\";function a(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var a=0,o=function(){};return{s:o,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,i=a(e);try{for(i.s();!(n=i.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var a={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,a=e.target,i=!!a.checked;if(Array.isArray(n)){var o=t._i(n,null);a.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},m=n(35),p={insert:\"head\",singleton:!1},g=(o()(m.a,p),m.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var a=n(15),i=n.n(a),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),m=n(54),p=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function b(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(a,i){var o=t.apply(e,n);function r(t){b(o,a,i,r,s,\"next\",t)}function s(t){b(o,a,i,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:p.default,ClickOutside:o.directive},components:{DotsHorizontal:i.a,Popover:v.a,PopoverMenu:m.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,a=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(a):a}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:a=e.sent,i=a.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,a=\"/avatar/{user}/{size}\";this.isGuest&&(a=\"/avatar/guest/{user}/{size}\");var i=Object(r.generateUrl)(a,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof a)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===a&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(i.srcset=n),i.src=t}}},w=n(2),S=n.n(w),B=n(41),j={insert:\"head\",singleton:!1},N=(S()(B.a,j),B.a.locals,n(3)),P=n(42),z=n.n(P),E=Object(N.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof z.a&&z()(E);var _=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=_},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var a=n(56),i=n.n(a),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=i()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,a=[],i=0;i<t.length;i++)a.push(parseInt(t.charAt(i),16)%16);for(var o in a)n+=a[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=78)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:b(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function b(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},62:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-459b7561]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-459b7561]{background-color:var(--color-background-hover)}.action--disabled[data-v-459b7561]{pointer-events:none;opacity:.5}.action--disabled[data-v-459b7561]:hover,.action--disabled[data-v-459b7561]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-459b7561]{opacity:1 !important}.action-button[data-v-459b7561]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-459b7561]:hover,.action-button[data-v-459b7561]:focus{opacity:1}.action-button>span[data-v-459b7561]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-459b7561]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-459b7561] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-459b7561] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-459b7561]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-459b7561]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-459b7561]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},63:function(t,n){},69:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(32).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(62),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(63),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"459b7561\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},78:function(t,n,e){\"use strict\";e.r(n);var o=e(69);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a}})}));\n//# sourceMappingURL=ActionButton.js.map","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\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","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.codePointAt` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\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","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionLink\",[],n):\"object\"==typeof exports?exports[\"Components/ActionLink\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionLink\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=105)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,c=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){c=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(c)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},105:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionLink\",mixins:[e(32).a],props:{href:{type:String,default:\"#\",required:!0,validator:function(t){try{return new URL(t)}catch(n){return t.startsWith(\"#\")||t.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(t){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(t)>-1}}}},i=e(2),r=e.n(i),a=e(84),c={insert:\"head\",singleton:!1},s=(r()(a.a,c),a.a.locals,e(3)),l=e(85),u=e.n(l),d=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:t.download,href:t.href,\"aria-label\":t.ariaLabel,target:t.target,rel:\"noreferrer noopener\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-link__icon\",class:[t.isIconUrl?\"action-link__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"aee1c25a\",null);\"function\"==typeof u.a&&u()(d);var f=d.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=f},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function c(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],s=n.base?r[0]+n.base:r[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:g(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function g(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);a[i].references--}for(var r=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},84:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-aee1c25a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-aee1c25a]{background-color:var(--color-background-hover)}.action-link[data-v-aee1c25a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-aee1c25a]:hover,.action-link[data-v-aee1c25a]:focus{opacity:1}.action-link>span[data-v-aee1c25a]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-aee1c25a]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-aee1c25a] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-aee1c25a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-aee1c25a]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-aee1c25a]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-aee1c25a]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},85:function(t,n){}})}));\n//# sourceMappingURL=ActionLink.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=53)}([function(e,t,n){\"use strict\";function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&(\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"]);if(null==n)return;var o,i,a=[],r=!0,s=!1;try{for(n=n.call(e);!(r=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);r=!0);}catch(e){s=!0,i=e}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}e.exports=function(e){var t=o(e,4),n=t[1],i=t[3];if(!i)return n;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(e){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);o&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),t.push(l))}},t}},function(e,t,n){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function s(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},o=[],i=0;i<e.length;i++){var a=e[i],l=t.base?a[0]+t.base:a[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,t),references:1}),o.push(u)}return o}function c(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var i=n.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var r=a(e.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join(\"\\n\")});function m(e,t,n,o){var i=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=d(t,i);else{var a=document.createTextNode(i),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(a,r[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,i=n.media,a=n.sourceMap;if(i?e.setAttribute(\"media\",i):e.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var g=null,h=0;function A(e,t){var n,o,i;if(t.singleton){var a=h++;n=g||(g=c(t)),o=m.bind(null,n,a,!1),i=m.bind(null,n,a,!0)}else n=c(t),o=p.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=i());var n=l(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var i=s(n[o]);r[i].references--}for(var a=l(e,t),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=a}}}},function(e,t,n){\"use strict\";function o(e,t,n,o,i,a,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),a&&(c._scopeId=\"data-v-\"+a),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,\"a\",(function(){return o}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return s})),n.d(t,\"a\",(function(){return r}));var o=n(13),i=Object(o.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};i.addTranslation(e.locale,{translations:{\"\":t}})}));var a=i.build(),r=a.ngettext.bind(a),s=a.gettext.bind(a)},function(e,t){e.exports=require(\"v-tooltip\")},function(e,t){e.exports=require(\"vue\")},,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var o=n(5),i=n(2),a=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};a()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1,o.VTooltip.options.defaultDelay={show:500,hide:200};t.default=o.VTooltip},function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){e.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(e,t,n){\"use strict\";var o={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var e=this;this.$watch((function(){return e.$refs.popover.isOpen}),(function(t){t?e.$emit(\"after-show\"):e.$emit(\"after-hide\")}))}},i=n(2),a=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(a()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(o,(function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"VPopover\",e._g(e._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:e._u([{key:\"popover\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);t.a=d.exports},function(e,t){e.exports=require(\"vue-material-design-icons/DotsHorizontal\")},,function(e,t,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.a=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,e||5)}},,function(e,t,n){\"use strict\";n.r(t);var o=n(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a},,,,function(e,t,n){\"use strict\";var o=n(6),i=n.n(o);t.a=function(e,t,n){if(void 0!==e)for(var o=e.length-1;o>=0;o--){var a=e[o],r=!a.componentOptions&&a.tag&&-1===t.indexOf(a.tag),s=!!a.componentOptions&&\"string\"==typeof a.componentOptions.tag,l=s&&-1===t.indexOf(a.componentOptions.tag);(r||!s||l)&&((r||l)&&i.a.util.warn(\"\".concat(r?a.tag:a.componentOptions.tag,\" is not allowed inside the \").concat(n.$options.name,\" component\"),n),e.splice(o,1))}}},,,,,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon[data-v-de7c02d6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-de7c02d6]{position:relative;display:inline-block}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active,.action-item__menutoggle[data-v-de7c02d6]:hover,.action-item__menutoggle[data-v-de7c02d6]:focus,.action-item__menutoggle[data-v-de7c02d6]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-de7c02d6]:disabled,.action-item--single[data-v-de7c02d6]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-de7c02d6]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-de7c02d6],.action-item__menutoggle[data-v-de7c02d6]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item[data-v-de7c02d6] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-de7c02d6] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-de7c02d6]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--with-title[data-v-de7c02d6]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-de7c02d6] span{width:24px;height:24px;line-height:16px;position:absolute;top:10px;left:10px}.action-item__menutoggle--primary[data-v-de7c02d6]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-de7c02d6],.action-item__menutoggle--primary[data-v-de7c02d6]:hover,.action-item__menutoggle--primary[data-v-de7c02d6]:focus,.action-item__menutoggle--primary[data-v-de7c02d6]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-de7c02d6]{opacity:.7}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active{opacity:1}.action-item--single>[hidden][data-v-de7c02d6]{display:none}.ie .action-item__menu[data-v-de7c02d6],.ie .action-item__menu .action-item__menu_arrow[data-v-de7c02d6],.edge .action-item__menu[data-v-de7c02d6],.edge .action-item__menu .action-item__menu_arrow[data-v-de7c02d6]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCrnBc,CDunBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCjoBc,CDkoBd,uCC9nBgD,CD+nBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC7pBmB,CD8pBnB,WC9pBmB,CD+pBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAxC/B,oDA4CE,UCxqBmB,CDyqBnB,WCzqBmB,CD0qBnB,SCvpBc,CDymBhB,+EAiDG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCrqBiB,CDsqBjB,gBAAiB,CACjB,gBCrrBc,CDurBd,sDACC,iBAAkB,CAClB,cCrrB6C,CDsrB7C,iBC9rBkB,CD+rBlB,kBAAmB,CACnB,SC7qBa,CD8qBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,2DAeC,UAAW,CACX,WAAY,CACZ,gBCxsBY,CDysBZ,iBAAkB,CAClB,QAAiC,CACjC,SAAkC,CAClC,mDAID,SCjsBa,CDksBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCjtBiB,CDgtBjB,qIAKC,SCptBa,CD+sBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t/deep/ span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: ($clickable-area - 24px) / 2;\\n\\t\\t\\t\\tleft: ($clickable-area - 24px) / 2;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},,,,,,,function(e,t,n){\"use strict\";var o=n(15),i=n.n(o),a=n(11),r=n(17),s=n(23),l=n(4),c=n(19);function u(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\",\"ActionCaption\"],A={name:\"Actions\",directives:{tooltip:a.default},components:{DotsHorizontal:i.a,Popover:c.default,VNodes:{functional:!0,render:function(e,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:Object(l.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(r.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var e=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===e)return p(p({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===e)return p(p({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===e)return p(p({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var e,t,n;return null===(e=this.firstActionVNode)||void 0===e||null===(t=e.componentOptions)||void 0===t||null===(n=t.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var e,t;return null===(e=this.firstAction)||void 0===e||null===(t=e.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(e){e!==this.opened&&(this.opened=e)}},beforeMount:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},beforeUpdate:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},methods:{openMenu:function(e){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(e){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var n=t.querySelector(\".focusable\");if(n){var o=u(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},execFirstAction:function(e){this.firstActionEvent&&this.firstActionEvent(e)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(e){return!!e&&!!e.componentOptions}))},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}}},v=n(2),f=n.n(v),b=n(29),C={insert:\"head\",singleton:!1},y=(f()(b.a,C),b.a.locals,n(3)),k=n(30),S=n.n(k),w=Object(y.a)(A,(function(){var e,t=this,n=t.$createElement,o=t._self._c||n;return t.isValidSingleAction&&!t.forceMenu?o(\"element\",t._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(e={},e[t.firstAction.icon]=t.firstAction.icon,e[t.firstActionClass]=t.firstActionClass,e),attrs:{rel:\"noreferrer noopener\",disabled:t.disabled},on:t._d({focus:t.onFocus,blur:t.onBlur},[t.firstActionEventBinding,t.execFirstAction])},\"element\",t.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:t.firstActionIconSlot}}),t._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[t._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasMultipleActions||t.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":t.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:t.opened,placement:t.placement,\"boundaries-element\":t.boundariesElement,container:t.container},on:{\"update:open\":function(e){t.opened=e},show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu},scopedSlots:t._u([{key:\"trigger\",fn:function(){var e;return[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(e={},e[t.defaultIcon]=!t.iconSlotIsPopulated,e[\"action-item__menutoggle--with-title\"]=t.menuTitle,e[\"action-item__menutoggle--with-icon-slot\"]=t.iconSlotIsPopulated,e[\"action-item__menutoggle--default-icon\"]=!t.iconSlotIsPopulated&&\"\"===t.defaultIcon,e[\"action-item__menutoggle--primary\"]=t.primary,e),attrs:{disabled:t.disabled,\"aria-haspopup\":\"true\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.randomId,\"aria-expanded\":t.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:t.onFocus,blur:t.onBlur}},[t.iconSlotIsPopulated?t._t(\"icon\"):\"\"===t.defaultIcon?o(\"DotsHorizontal\",{attrs:{size:24,decorative:\"\"}}):t._e(),t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[t._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.opened,expression:\"opened\"}],ref:\"menu\",class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?null:e.shiftKey?e.ctrlKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e):null},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-up\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusFirstAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-down\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusLastAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.closeMenu(e))}],mousemove:t.onMouseFocusAction}},[o(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\"}},[t.opened?[t._t(\"default\")]:t._e()],2)])])],1)}),[],!1,null,\"de7c02d6\",null);\"function\"==typeof S.a&&S()(w);t.a=w.exports},,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";n.r(t);var o=n(37);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a}])}));\n//# sourceMappingURL=Actions.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],n):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=n())}(window,(function(){return function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,\"a\",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p=\"/dist/\",r(r.s=11)}([function(t,n,r){\"use strict\";function e(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var r=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==r)return;var e,o,i=[],a=!0,c=!1;try{for(r=r.call(t);!(a=(e=r.next()).done)&&(i.push(e.value),!n||i.length!==n);a=!0);}catch(t){c=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r<n;r++)e[r]=t[r];return e}t.exports=function(t){var n=e(t,4),r=n[1],o=n[3];if(!o)return r;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=o.sources.map((function(t){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(t,\" */\")}));return[r].concat(l).concat([c]).join(\"\\n\")}return[r].join(\"\\n\")}},function(t,n,r){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var r=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(r,\"}\"):r})).join(\"\")},n.i=function(t,r,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var o={};if(e)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);e&&o[l[0]]||(r&&(l[2]?l[2]=\"\".concat(r,\" and \").concat(l[2]):l[2]=r),n.push(l))}},n}},function(t,n,r){\"use strict\";var e,o=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},i=function(){var t={};return function(n){if(void 0===t[n]){var r=document.querySelector(n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[n]=r}return t[n]}}(),a=[];function c(t){for(var n=-1,r=0;r<a.length;r++)if(a[r].identifier===t){n=r;break}return n}function l(t,n){for(var r={},e=[],o=0;o<t.length;o++){var i=t[o],l=n.base?i[0]+n.base:i[0],s=r[l]||0,p=\"\".concat(l,\" \").concat(s);r[l]=s+1;var d=c(p),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:p,updater:h(u,n),references:1}),e.push(p)}return e}function s(t){var n=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var o=r.nc;o&&(e.nonce=o)}if(Object.keys(e).forEach((function(t){n.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var p,d=(p=[],function(t,n){return p[t]=n,p.filter(Boolean).join(\"\\n\")});function u(t,n,r,e){var o=r?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(n,o);else{var i=document.createTextNode(o),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(i,a[n]):t.appendChild(i)}}function A(t,n,r){var e=r.css,o=r.media,i=r.sourceMap;if(o?t.setAttribute(\"media\",o):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var f=null,C=0;function h(t,n){var r,e,o;if(n.singleton){var i=C++;r=f||(f=s(n)),e=u.bind(null,r,i,!1),o=u.bind(null,r,i,!0)}else r=s(n),e=A.bind(null,r,n),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else o()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=o());var r=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<r.length;e++){var o=c(r[e]);a[o].references--}for(var i=l(t,n),s=0;s<r.length;s++){var p=c(r[s]);0===a[p].references&&(a[p].updater(),a.splice(p,1))}r=i}}}},,,function(t,n){t.exports=require(\"v-tooltip\")},,,,,,function(t,n,r){\"use strict\";r.r(n);var e=r(5),o=r(2),i=r.n(o),a=r(12),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1,e.VTooltip.options.defaultDelay={show:500,hide:200};n.default=e.VTooltip},function(t,n,r){\"use strict\";var e=r(0),o=r.n(e),i=r(1),a=r.n(i)()(o.a);a.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=a}])}));\n//# sourceMappingURL=Tooltip.js.map","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\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","module.exports = {};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=e||self)[\"v-click-outside\"]=n()}(this,function(){var e=\"undefined\"!=typeof window,n=\"undefined\"!=typeof navigator,t=e&&(\"ontouchstart\"in window||n&&navigator.msMaxTouchPoints>0)?[\"touchstart\"]:[\"click\"];function i(e){var n=e.event,t=e.handler;(0,e.middleware)(n)&&t(n)}function r(e,n){var r=function(e){var n=\"function\"==typeof e;if(!n&&\"object\"!=typeof e)throw new Error(\"v-click-outside: Binding value must be a function or an object\");return{handler:n?e:e.handler,middleware:e.middleware||function(e){return e},events:e.events||t,isActive:!(!1===e.isActive),detectIframe:!(!1===e.detectIframe)}}(n.value),d=r.handler,o=r.middleware,a=r.detectIframe;if(r.isActive){if(e[\"__v-click-outside\"]=r.events.map(function(n){return{event:n,srcTarget:document.documentElement,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware,o=t.path||t.composedPath&&t.composedPath();(o?o.indexOf(n)<0:!n.contains(t.target))&&i({event:t,handler:r,middleware:d})}({el:e,event:n,handler:d,middleware:o})}}}),a){var c={event:\"blur\",srcTarget:window,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware;setTimeout(function(){var e=document.activeElement;e&&\"IFRAME\"===e.tagName&&!n.contains(e)&&i({event:t,handler:r,middleware:d})},0)}({el:e,event:n,handler:d,middleware:o})}};e[\"__v-click-outside\"]=[].concat(e[\"__v-click-outside\"],[c])}e[\"__v-click-outside\"].forEach(function(n){var t=n.event,i=n.srcTarget,r=n.handler;return setTimeout(function(){e[\"__v-click-outside\"]&&i.addEventListener(t,r,!1)},0)})}}function d(e){(e[\"__v-click-outside\"]||[]).forEach(function(e){return e.srcTarget.removeEventListener(e.event,e.handler,!1)}),delete e[\"__v-click-outside\"]}var o=e?{bind:r,update:function(e,n){var t=n.value,i=n.oldValue;JSON.stringify(t)!==JSON.stringify(i)&&(d(e),r(e,{value:t}))},unbind:d}:{};return{install:function(e){e.directive(\"click-outside\",o)},directive:o}});\n//# sourceMappingURL=v-click-outside.umd.js.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '<!-') {\n state = STATE_COMMENT;\n }\n\n tag_buffer += char;\n break;\n\n case ' ':\n case '\\n':\n if (tag_buffer === '<') {\n state = STATE_PLAINTEXT;\n output += '< ';\n tag_buffer = '';\n\n break;\n }\n\n tag_buffer += char;\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n\n else if (state === STATE_COMMENT) {\n switch (char) {\n case '>':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","module.exports = require('./lib/linkify-string').default;\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCapabilities = getCapabilities;\n\nvar _initialState = require(\"@nextcloud/initial-state\");\n\nfunction getCapabilities() {\n try {\n return (0, _initialState.loadState)('core', 'capabilities');\n } catch (error) {\n console.debug('Could not find capabilities initial state fall back to _oc_capabilities');\n\n if (!('_oc_capabilities' in window)) {\n return {};\n }\n\n return window['_oc_capabilities'];\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBuilder = getBuilder;\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\n\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(function (k) {\n return pred ? pred(k) : true;\n }).map(storage.removeItem.bind(storage));\n}\n\nfunction clearAll() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s);\n });\n}\n\nfunction clearNonPersistent() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s, function (k) {\n return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);\n });\n });\n}\n//# sourceMappingURL=index.js.map","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadState = loadState;\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = input[TO_PRIMITIVE];\n var result;\n if (exoticToPrim !== undefined) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n props: {\n title: {\n type: String,\n default: \"Dots Horizontal icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=079a5c9e&functional=true&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionText\",[],n):\"object\"==typeof exports?exports[\"Components/ActionText\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionText\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=209)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},135:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-90adea72]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-90adea72]{background-color:var(--color-background-hover)}.action-text[data-v-90adea72]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-90adea72]:hover,.action-text[data-v-90adea72]:focus{opacity:1}.action-text>span[data-v-90adea72]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-90adea72]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-90adea72] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-90adea72] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-90adea72]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-90adea72]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-90adea72]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-90adea72]{pointer-events:none;opacity:.5}.action--disabled[data-v-90adea72]:hover,.action--disabled[data-v-90adea72]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-90adea72]{opacity:1 !important}.action-text[data-v-90adea72],.action-text span[data-v-90adea72]{cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEyCxB,iEAGE,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=r},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:C(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function C(t,n){var e,o,i;if(n.singleton){var a=A++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},209:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionText\",mixins:[e(32).a]},i=e(2),a=e.n(i),r=e(135),c={insert:\"head\",singleton:!1},s=(a()(r.a,c),r.a.locals,e(3)),l=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:t.onClick}},[t._t(\"icon\",[\"\"!==t.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[t.isIconUrl?\"action-text__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}):t._e()]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"90adea72\",null).exports;n.default=l},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionText.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionCheckbox\",[],n):\"object\"==typeof exports?exports[\"Components/ActionCheckbox\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionCheckbox\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=205)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},128:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-395fa6ac]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-395fa6ac]{background-color:var(--color-background-hover)}.action--disabled[data-v-395fa6ac]{pointer-events:none;opacity:.5}.action--disabled[data-v-395fa6ac]:hover,.action--disabled[data-v-395fa6ac]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-395fa6ac]{opacity:1 !important}.action-checkbox[data-v-395fa6ac]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-395fa6ac]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-395fa6ac]{opacity:1}.action-checkbox__label[data-v-395fa6ac]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-395fa6ac]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-395fa6ac],.action-checkbox--disabled .action-checkbox__label[data-v-395fa6ac]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-395fa6ac],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-395fa6ac]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEiHxB,kCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDnJoB,CCsJpB,4CACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,0EAUC,SD7Ia,CC8Ib,yCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD1JiB,CCkJjB,iDAYC,0BAA2B,CAC3B,gHAMA,cAAe,CAvDlB,gMA8DG,SD3Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},129:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(f)):r.push({identifier:u,updater:m(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function p(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=f.bind(null,e,a,!1),i=f.bind(null,e,a,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},205:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionCheckbox\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",t),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},r=e(2),c=e.n(r),s=e(128),l={insert:\"head\",singleton:!1},u=(c()(s.a,l),s.a.locals,e(3)),d=e(129),f=e.n(d),p=Object(u.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,type:\"checkbox\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.checkInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"395fa6ac\",null);\"function\"==typeof f.a&&f()(p);var h=p.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionCheckbox.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionInput\",[],n):\"object\"==typeof exports?exports[\"Components/ActionInput\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionInput\"]=n())}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=206)}([function(t,n,e){\"use strict\";function r(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var r,i,a=[],o=!0,T=!1;try{for(e=e.call(t);!(o=(r=e.next()).done)&&(a.push(r.value),!n||a.length!==n);o=!0);}catch(t){T=!0,i=t}finally{try{o||null==e.return||e.return()}finally{if(T)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}t.exports=function(t){var n=r(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),T=\"/*# \".concat(o,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([T]).join(\"\\n\")}return[e].join(\"\\n\")}},function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,r){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(r)for(var a=0;a<this.length;a++){var o=this[a][0];null!=o&&(i[o]=!0)}for(var T=0;T<t.length;T++){var l=[].concat(t[T]);r&&i[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},function(t,n,e){\"use strict\";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),o=[];function T(t){for(var n=-1,e=0;e<o.length;e++)if(o[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},r=[],i=0;i<t.length;i++){var a=t[i],l=n.base?a[0]+n.base:a[0],s=e[l]||0,A=\"\".concat(l,\" \").concat(s);e[l]=s+1;var c=T(A),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==c?(o[c].references++,o[c].updater(d)):o.push({identifier:A,updater:p(d,n),references:1}),r.push(A)}return r}function s(t){var n=document.createElement(\"style\"),r=t.attributes||{};if(void 0===r.nonce){var i=e.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(t){n.setAttribute(t,r[t])})),\"function\"==typeof t.insert)t.insert(n);else{var o=a(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(n)}return n}var A,c=(A=[],function(t,n){return A[t]=n,A.filter(Boolean).join(\"\\n\")});function d(t,n,e,r){var i=e?\"\":r.media?\"@media \".concat(r.media,\" {\").concat(r.css,\"}\"):r.css;if(t.styleSheet)t.styleSheet.cssText=c(n,i);else{var a=document.createTextNode(i),o=t.childNodes;o[n]&&t.removeChild(o[n]),o.length?t.insertBefore(a,o[n]):t.appendChild(a)}}function u(t,n,e){var r=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var E=null,m=0;function p(t,n){var e,r,i;if(n.singleton){var a=m++;e=E||(E=s(n)),r=d.bind(null,e,a,!1),i=d.bind(null,e,a,!0)}else e=s(n),r=u.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return r(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;r(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var r=0;r<e.length;r++){var i=T(e[r]);o[i].references--}for(var a=l(t,n),s=0;s<e.length;s++){var A=T(e[s]);0===o[A].references&&(o[A].updater(),o.splice(A,1))}e=a}}}},function(t,n,e){\"use strict\";function r(t,n,e,r,i,a,o,T){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId=\"data-v-\"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},s._ssrRegister=l):i&&(l=T?function(){i.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(s.functional){s._injectStyles=l;var A=s.render;s.render=function(t,n){return l.call(n),A(t,n)}}else{var c=s.beforeCreate;s.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return r}))},function(t,n,e){\"use strict\";e.d(n,\"b\",(function(){return T})),e.d(n,\"a\",(function(){return o}));var r=e(13),i=Object(r.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var n={};for(var e in t.translations)t.translations[e].pluralId?n[e]={msgid:e,msgid_plural:t.translations[e].pluralId,msgstr:t.translations[e].msgstr}:n[e]={msgid:e,msgstr:[t.translations[e]]};i.addTranslation(t.locale,{translations:{\"\":n}})}));var a=i.build(),o=a.ngettext.bind(a),T=a.gettext.bind(a)},function(t,n){t.exports=require(\"v-tooltip\")},function(t,n){t.exports=require(\"vue\")},function(t,n){t.exports=require(\"@nextcloud/router\")},function(t,n,e){\"use strict\";t.exports=function(t,n){return n||(n={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/[\"'() \\t\\n]/.test(t)||n.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";e.r(n);var r=e(5),i=e(2),a=e.n(i),o=e(12),T={insert:\"head\",singleton:!1};a()(o.a,T),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nr.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200};n.default=r.VTooltip},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,n,e){\"use strict\";var r={name:\"Popover\",components:{VPopover:e(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=e(2),a=e.n(i),o=e(9),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(3)),s=e(10),A=e.n(s),c=Object(l.a)(r,(function(){var t=this,n=t.$createElement;return(t._self._c||n)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof A.a&&A()(c);n.a=c.exports},function(t,n){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,n){t.exports=require(\"@nextcloud/event-bus\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},function(t,n){t.exports=require(\"@nextcloud/auth\")},function(t,n,e){\"use strict\";e.r(n);var r=e(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=r.a},function(t,n,e){\"use strict\";e.r(n);var r=e(6),i=new(e.n(r).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});n.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,n){t.exports=require(\"@nextcloud/axios\")},function(t,n,e){\"use strict\";var r=e(4);n.a={methods:{n:r.a,t:r.b}}},,function(t,n,e){\"use strict\";e.d(n,\"a\",(function(){return r.default})),e.d(n,\"b\",(function(){return i.default})),e.d(n,\"c\",(function(){return a.default})),e.d(n,\"d\",(function(){return o.default})),e.d(n,\"e\",(function(){return u}));var r=e(47),i=e(48),a=e(20),o=e(39),T=e(21),l=e.n(T),s=e(7),A=e(57),c=e(18);function d(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var u={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var r,i,a,o,T,d,u,E,m;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t){n.next=2;break}return n.abrupt(\"return\");case 2:if(r=Object(A.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){n.next=5;break}return n.abrupt(\"return\");case 5:if(Object(c.getCurrentUser)()){n.next=7;break}return n.abrupt(\"return\");case 7:return n.prev=7,n.next=10,l.a.get(Object(s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=n.sent,a=i.data,o=a.ocs.data,T=o.status,d=o.message,u=o.icon,e.userStatus.status=T,e.userStatus.message=d||\"\",e.userStatus.icon=u||\"\",e.hasStatus=!0,n.next=24;break;case 19:if(n.prev=19,n.t0=n.catch(7),404!==n.t0.response.status||0!==(null===(E=n.t0.response.data.ocs)||void 0===E||null===(m=E.data)||void 0===m?void 0:m.length)){n.next=23;break}return n.abrupt(\"return\");case 23:console.error(n.t0);case 24:case\"end\":return n.stop()}}),n,null,[[7,19]])})),function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(t){d(a,r,i,o,T,\"next\",t)}function T(t){d(a,r,i,o,T,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,n){t.exports=require(\"striptags\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(6),i=e.n(r);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(t,n){t.exports=require(\"v-click-outside\")},,,function(t,n){t.exports=require(\"linkifyjs/string\")},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t,n){for(var e=[],r=0,i=t.toLowerCase().indexOf(n.toLowerCase(),r),a=0;i>-1&&a<t.length;)r=i+n.length,e.push({start:i,end:r}),i=t.toLowerCase().indexOf(n.toLowerCase(),i+1),a++;return e}},function(t,n,e){\"use strict\";e.r(n),e.d(n,\"USERID_REGEX\",(function(){return g})),e.d(n,\"USERID_REGEX_WITH_SPACE\",(function(){return N}));var r=e(43),i=e.n(r),a=e(31),o=e.n(a),T=e(25),l=e.n(T),s=e(6),A=e.n(s),c=e(7),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,n){return Object(c.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}},u=e(2),E=e.n(u),m=e(26),p={insert:\"head\",singleton:!1},D=(E()(m.a,p),m.a.locals,e(3)),S=Object(D.a)(d,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,g=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),N=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");n.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var n=this;return i()(t).split(g).map((function(t){return t.split(N)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var e=t.replace(/@|&quot;/gi,\"\");return\" \"+n.genSelectTemplate(e)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var n=t.replace(/<br>/gim,\"\\n\");return n=(n=(n=n.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),n=l()(n,\"<div>\"),n=l()(n)},genSelectTemplate:function(t){var n=this.userData[t];return n?this.renderComponentHtml(n,S).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,n){var e=new(A.a.extend(n))({propsData:t}),r=document.createElement(\"div\"),i=document.createElement(\"div\");r.style.display=\"none\",r.appendChild(i),document.body.appendChild(r),e.$mount(i);var a=r.innerHTML;return e.$destroy(),r.remove(),a}}}},function(t,n,e){\"use strict\";e.r(n);var r=e(38);function i(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function a(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?i(Object(e),!0).forEach((function(n){o(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):i(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}function o(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var T={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,n=[];return this.search||0!==this.highlight.length?(n=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search),n.reduce((function(n,e){return e.start<t.text.length&&e.end>0&&n.push({start:e.start<0?0:e.start,end:e.end>t.text.length?t.text.length:e.end}),n}),[])):n},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],n=0,e=0;n<this.text.length;){var r=this.ranges[e];r.start!==n?(t.push({start:n,end:r.start,highlight:!1,text:this.text.substr(n,r.start-n)}),n=r.start):(t.push(a(a({},r),{},{highlight:!0,text:this.text.substr(r.start,r.end-r.start)})),e++,n=r.end,e>=this.ranges.length&&n<this.text.length&&(t.push({start:n,end:this.text.length,highlight:!1,text:this.text.substr(n,this.text.length-n)}),n=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(n){return n.highlight?t(\"strong\",{},n.text):n.text}))):t(\"span\",{},this.text)}},l=e(3),s=e(45),A=e.n(s),c=Object(l.a)(T,void 0,void 0,!1,null,null,null);\"function\"==typeof A.a&&A()(c);var d=c.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=d},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(50),A=e(51),c=e(52),d=o()(i.a),u=l()(s.a),E=l()(A.a),m=l()(c.a);d.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+u+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+E+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=d},function(t,n){},function(t,n){t.exports=require(\"escape-html\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function r(t,n,e){this.r=t,this.g=n,this.b=e}function i(t,n,e){var i=[];i.push(n);for(var a=function(t,n){var e=new Array(3);return e[0]=(n[1].r-n[0].r)/t,e[1]=(n[1].g-n[0].g)/t,e[2]=(n[1].b-n[0].b)/t,e}(t,[n,e]),o=1;o<t;o++){var T=parseInt(n.r+a[0]*o,10),l=parseInt(n.g+a[1]*o,10),s=parseInt(n.b+a[2]*o,10);i.push(new r(T,l,s))}return i}n.a=function(t){t||(t=6);var n=new r(182,70,157),e=new r(221,203,85),a=new r(0,130,201),o=i(t,n,e),T=i(t,e,a),l=i(t,a,n);return o.concat(T).concat(l)}},function(t,n){},function(t){t.exports=JSON.parse('{\"version\":\"2.2019c\",\"aliases\":{\"AUS Central Standard Time\":{\"aliasTo\":\"Australia/Darwin\"},\"AUS Eastern Standard Time\":{\"aliasTo\":\"Australia/Sydney\"},\"Afghanistan Standard Time\":{\"aliasTo\":\"Asia/Kabul\"},\"Africa/Asmera\":{\"aliasTo\":\"Africa/Asmara\"},\"Africa/Timbuktu\":{\"aliasTo\":\"Africa/Bamako\"},\"Alaskan Standard Time\":{\"aliasTo\":\"America/Anchorage\"},\"America/Argentina/ComodRivadavia\":{\"aliasTo\":\"America/Argentina/Catamarca\"},\"America/Buenos_Aires\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"America/Louisville\":{\"aliasTo\":\"America/Kentucky/Louisville\"},\"America/Montreal\":{\"aliasTo\":\"America/Toronto\"},\"America/Santa_Isabel\":{\"aliasTo\":\"America/Tijuana\"},\"Arab Standard Time\":{\"aliasTo\":\"Asia/Riyadh\"},\"Arabian Standard Time\":{\"aliasTo\":\"Asia/Dubai\"},\"Arabic Standard Time\":{\"aliasTo\":\"Asia/Baghdad\"},\"Argentina Standard Time\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"Asia/Calcutta\":{\"aliasTo\":\"Asia/Kolkata\"},\"Asia/Katmandu\":{\"aliasTo\":\"Asia/Kathmandu\"},\"Asia/Rangoon\":{\"aliasTo\":\"Asia/Yangon\"},\"Asia/Saigon\":{\"aliasTo\":\"Asia/Ho_Chi_Minh\"},\"Atlantic Standard Time\":{\"aliasTo\":\"America/Halifax\"},\"Atlantic/Faeroe\":{\"aliasTo\":\"Atlantic/Faroe\"},\"Atlantic/Jan_Mayen\":{\"aliasTo\":\"Europe/Oslo\"},\"Azerbaijan Standard Time\":{\"aliasTo\":\"Asia/Baku\"},\"Azores Standard Time\":{\"aliasTo\":\"Atlantic/Azores\"},\"Bahia Standard Time\":{\"aliasTo\":\"America/Bahia\"},\"Bangladesh Standard Time\":{\"aliasTo\":\"Asia/Dhaka\"},\"Belarus Standard Time\":{\"aliasTo\":\"Europe/Minsk\"},\"Canada Central Standard Time\":{\"aliasTo\":\"America/Regina\"},\"Cape Verde Standard Time\":{\"aliasTo\":\"Atlantic/Cape_Verde\"},\"Caucasus Standard Time\":{\"aliasTo\":\"Asia/Yerevan\"},\"Cen. Australia Standard Time\":{\"aliasTo\":\"Australia/Adelaide\"},\"Central America Standard Time\":{\"aliasTo\":\"America/Guatemala\"},\"Central Asia Standard Time\":{\"aliasTo\":\"Asia/Almaty\"},\"Central Brazilian Standard Time\":{\"aliasTo\":\"America/Cuiaba\"},\"Central Europe Standard Time\":{\"aliasTo\":\"Europe/Budapest\"},\"Central European Standard Time\":{\"aliasTo\":\"Europe/Warsaw\"},\"Central Pacific Standard Time\":{\"aliasTo\":\"Pacific/Guadalcanal\"},\"Central Standard Time\":{\"aliasTo\":\"America/Chicago\"},\"Central Standard Time (Mexico)\":{\"aliasTo\":\"America/Mexico_City\"},\"China Standard Time\":{\"aliasTo\":\"Asia/Shanghai\"},\"E. Africa Standard Time\":{\"aliasTo\":\"Africa/Nairobi\"},\"E. Australia Standard Time\":{\"aliasTo\":\"Australia/Brisbane\"},\"E. South America Standard Time\":{\"aliasTo\":\"America/Sao_Paulo\"},\"Eastern Standard Time\":{\"aliasTo\":\"America/New_York\"},\"Egypt Standard Time\":{\"aliasTo\":\"Africa/Cairo\"},\"Ekaterinburg Standard Time\":{\"aliasTo\":\"Asia/Yekaterinburg\"},\"Etc/GMT\":{\"aliasTo\":\"UTC\"},\"Etc/GMT+0\":{\"aliasTo\":\"UTC\"},\"Etc/UCT\":{\"aliasTo\":\"UTC\"},\"Etc/UTC\":{\"aliasTo\":\"UTC\"},\"Etc/Unversal\":{\"aliasTo\":\"UTC\"},\"Etc/Zulu\":{\"aliasTo\":\"UTC\"},\"Europe/Belfast\":{\"aliasTo\":\"Europe/London\"},\"FLE Standard Time\":{\"aliasTo\":\"Europe/Kiev\"},\"Fiji Standard Time\":{\"aliasTo\":\"Pacific/Fiji\"},\"GMT\":{\"aliasTo\":\"UTC\"},\"GMT Standard Time\":{\"aliasTo\":\"Europe/London\"},\"GMT+0\":{\"aliasTo\":\"UTC\"},\"GMT0\":{\"aliasTo\":\"UTC\"},\"GTB Standard Time\":{\"aliasTo\":\"Europe/Bucharest\"},\"Georgian Standard Time\":{\"aliasTo\":\"Asia/Tbilisi\"},\"Greenland Standard Time\":{\"aliasTo\":\"America/Godthab\"},\"Greenwich\":{\"aliasTo\":\"UTC\"},\"Greenwich Standard Time\":{\"aliasTo\":\"Atlantic/Reykjavik\"},\"Hawaiian Standard Time\":{\"aliasTo\":\"Pacific/Honolulu\"},\"India Standard Time\":{\"aliasTo\":\"Asia/Calcutta\"},\"Iran Standard Time\":{\"aliasTo\":\"Asia/Tehran\"},\"Israel Standard Time\":{\"aliasTo\":\"Asia/Jerusalem\"},\"Jordan Standard Time\":{\"aliasTo\":\"Asia/Amman\"},\"Kaliningrad Standard Time\":{\"aliasTo\":\"Europe/Kaliningrad\"},\"Korea Standard Time\":{\"aliasTo\":\"Asia/Seoul\"},\"Libya Standard Time\":{\"aliasTo\":\"Africa/Tripoli\"},\"Line Islands Standard Time\":{\"aliasTo\":\"Pacific/Kiritimati\"},\"Magadan Standard Time\":{\"aliasTo\":\"Asia/Magadan\"},\"Mauritius Standard Time\":{\"aliasTo\":\"Indian/Mauritius\"},\"Middle East Standard Time\":{\"aliasTo\":\"Asia/Beirut\"},\"Montevideo Standard Time\":{\"aliasTo\":\"America/Montevideo\"},\"Morocco Standard Time\":{\"aliasTo\":\"Africa/Casablanca\"},\"Mountain Standard Time\":{\"aliasTo\":\"America/Denver\"},\"Mountain Standard Time (Mexico)\":{\"aliasTo\":\"America/Chihuahua\"},\"Myanmar Standard Time\":{\"aliasTo\":\"Asia/Rangoon\"},\"N. Central Asia Standard Time\":{\"aliasTo\":\"Asia/Novosibirsk\"},\"Namibia Standard Time\":{\"aliasTo\":\"Africa/Windhoek\"},\"Nepal Standard Time\":{\"aliasTo\":\"Asia/Katmandu\"},\"New Zealand Standard Time\":{\"aliasTo\":\"Pacific/Auckland\"},\"Newfoundland Standard Time\":{\"aliasTo\":\"America/St_Johns\"},\"North Asia East Standard Time\":{\"aliasTo\":\"Asia/Irkutsk\"},\"North Asia Standard Time\":{\"aliasTo\":\"Asia/Krasnoyarsk\"},\"Pacific SA Standard Time\":{\"aliasTo\":\"America/Santiago\"},\"Pacific Standard Time\":{\"aliasTo\":\"America/Los_Angeles\"},\"Pacific Standard Time (Mexico)\":{\"aliasTo\":\"America/Santa_Isabel\"},\"Pacific/Johnston\":{\"aliasTo\":\"Pacific/Honolulu\"},\"Pakistan Standard Time\":{\"aliasTo\":\"Asia/Karachi\"},\"Paraguay Standard Time\":{\"aliasTo\":\"America/Asuncion\"},\"Romance Standard Time\":{\"aliasTo\":\"Europe/Paris\"},\"Russia Time Zone 10\":{\"aliasTo\":\"Asia/Srednekolymsk\"},\"Russia Time Zone 11\":{\"aliasTo\":\"Asia/Kamchatka\"},\"Russia Time Zone 3\":{\"aliasTo\":\"Europe/Samara\"},\"Russian Standard Time\":{\"aliasTo\":\"Europe/Moscow\"},\"SA Eastern Standard Time\":{\"aliasTo\":\"America/Cayenne\"},\"SA Pacific Standard Time\":{\"aliasTo\":\"America/Bogota\"},\"SA Western Standard Time\":{\"aliasTo\":\"America/La_Paz\"},\"SE Asia Standard Time\":{\"aliasTo\":\"Asia/Bangkok\"},\"Samoa Standard Time\":{\"aliasTo\":\"Pacific/Apia\"},\"Singapore Standard Time\":{\"aliasTo\":\"Asia/Singapore\"},\"South Africa Standard Time\":{\"aliasTo\":\"Africa/Johannesburg\"},\"Sri Lanka Standard Time\":{\"aliasTo\":\"Asia/Colombo\"},\"Syria Standard Time\":{\"aliasTo\":\"Asia/Damascus\"},\"Taipei Standard Time\":{\"aliasTo\":\"Asia/Taipei\"},\"Tasmania Standard Time\":{\"aliasTo\":\"Australia/Hobart\"},\"Tokyo Standard Time\":{\"aliasTo\":\"Asia/Tokyo\"},\"Tonga Standard Time\":{\"aliasTo\":\"Pacific/Tongatapu\"},\"Turkey Standard Time\":{\"aliasTo\":\"Europe/Istanbul\"},\"UCT\":{\"aliasTo\":\"UTC\"},\"US Eastern Standard Time\":{\"aliasTo\":\"America/Indiana/Indianapolis\"},\"US Mountain Standard Time\":{\"aliasTo\":\"America/Phoenix\"},\"US/Central\":{\"aliasTo\":\"America/Chicago\"},\"US/Eastern\":{\"aliasTo\":\"America/New_York\"},\"US/Mountain\":{\"aliasTo\":\"America/Denver\"},\"US/Pacific\":{\"aliasTo\":\"America/Los_Angeles\"},\"US/Pacific-New\":{\"aliasTo\":\"America/Los_Angeles\"},\"Ulaanbaatar Standard Time\":{\"aliasTo\":\"Asia/Ulaanbaatar\"},\"Universal\":{\"aliasTo\":\"UTC\"},\"Venezuela Standard Time\":{\"aliasTo\":\"America/Caracas\"},\"Vladivostok Standard Time\":{\"aliasTo\":\"Asia/Vladivostok\"},\"W. Australia Standard Time\":{\"aliasTo\":\"Australia/Perth\"},\"W. Central Africa Standard Time\":{\"aliasTo\":\"Africa/Lagos\"},\"W. Europe Standard Time\":{\"aliasTo\":\"Europe/Berlin\"},\"West Asia Standard Time\":{\"aliasTo\":\"Asia/Tashkent\"},\"West Pacific Standard Time\":{\"aliasTo\":\"Pacific/Port_Moresby\"},\"Yakutsk Standard Time\":{\"aliasTo\":\"Asia/Yakutsk\"},\"Z\":{\"aliasTo\":\"UTC\"},\"Zulu\":{\"aliasTo\":\"UTC\"},\"utc\":{\"aliasTo\":\"UTC\"}},\"zones\":{\"Africa/Abidjan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"-0040200\"},\"Africa/Accra\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0053300\",\"longitude\":\"+0001300\"},\"Africa/Addis_Ababa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090200\",\"longitude\":\"+0384200\"},\"Africa/Algiers\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364700\",\"longitude\":\"+0030300\"},\"Africa/Asmara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0152000\",\"longitude\":\"+0385300\"},\"Africa/Bamako\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123900\",\"longitude\":\"-0080000\"},\"Africa/Bangui\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0042200\",\"longitude\":\"+0183500\"},\"Africa/Banjul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"-0163900\"},\"Africa/Bissau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0115100\",\"longitude\":\"-0153500\"},\"Africa/Blantyre\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0154700\",\"longitude\":\"+0350000\"},\"Africa/Brazzaville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041600\",\"longitude\":\"+0151700\"},\"Africa/Bujumbura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0032300\",\"longitude\":\"+0292200\"},\"Africa/Cairo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0300300\",\"longitude\":\"+0311500\"},\"Africa/Casablanca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333900\",\"longitude\":\"-0073500\"},\"Africa/Ceuta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355300\",\"longitude\":\"-0051900\"},\"Africa/Conakry\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0093100\",\"longitude\":\"-0134300\"},\"Africa/Dakar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0144000\",\"longitude\":\"-0172600\"},\"Africa/Dar_es_Salaam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064800\",\"longitude\":\"+0391700\"},\"Africa/Djibouti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113600\",\"longitude\":\"+0430900\"},\"Africa/Douala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0040300\",\"longitude\":\"+0094200\"},\"Africa/El_Aaiun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0270900\",\"longitude\":\"-0131200\"},\"Africa/Freetown\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0083000\",\"longitude\":\"-0131500\"},\"Africa/Gaborone\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0243900\",\"longitude\":\"+0255500\"},\"Africa/Harare\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0175000\",\"longitude\":\"+0310300\"},\"Africa/Johannesburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261500\",\"longitude\":\"+0280000\"},\"Africa/Juba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045100\",\"longitude\":\"+0313700\"},\"Africa/Kampala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0001900\",\"longitude\":\"+0322500\"},\"Africa/Khartoum\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0153600\",\"longitude\":\"+0323200\"},\"Africa/Kigali\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0015700\",\"longitude\":\"+0300400\"},\"Africa/Kinshasa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041800\",\"longitude\":\"+0151800\"},\"Africa/Lagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062700\",\"longitude\":\"+0032400\"},\"Africa/Libreville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002300\",\"longitude\":\"+0092700\"},\"Africa/Lome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0060800\",\"longitude\":\"+0011300\"},\"Africa/Luanda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084800\",\"longitude\":\"+0131400\"},\"Africa/Lubumbashi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114000\",\"longitude\":\"+0272800\"},\"Africa/Lusaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0152500\",\"longitude\":\"+0281700\"},\"Africa/Malabo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0034500\",\"longitude\":\"+0084700\"},\"Africa/Maputo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0255800\",\"longitude\":\"+0323500\"},\"Africa/Maseru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292800\",\"longitude\":\"+0273000\"},\"Africa/Mbabane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261800\",\"longitude\":\"+0310600\"},\"Africa/Mogadishu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0020400\",\"longitude\":\"+0452200\"},\"Africa/Monrovia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0061800\",\"longitude\":\"-0104700\"},\"Africa/Nairobi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0011700\",\"longitude\":\"+0364900\"},\"Africa/Ndjamena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120700\",\"longitude\":\"+0150300\"},\"Africa/Niamey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0133100\",\"longitude\":\"+0020700\"},\"Africa/Nouakchott\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180600\",\"longitude\":\"-0155700\"},\"Africa/Ouagadougou\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0122200\",\"longitude\":\"-0013100\"},\"Africa/Porto-Novo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062900\",\"longitude\":\"+0023700\"},\"Africa/Sao_Tome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:20180101T010000\\\\r\\\\nRDATE:20180101T010000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:20190101T020000\\\\r\\\\nRDATE:20190101T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002000\",\"longitude\":\"+0064400\"},\"Africa/Tripoli\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0325400\",\"longitude\":\"+0131100\"},\"Africa/Tunis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364800\",\"longitude\":\"+0101100\"},\"Africa/Windhoek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0223400\",\"longitude\":\"+0170600\"},\"America/Adak\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:HDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0515248\",\"longitude\":\"-1763929\"},\"America/Anchorage\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0611305\",\"longitude\":\"-1495401\"},\"America/Anguilla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0181200\",\"longitude\":\"-0630400\"},\"America/Antigua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0170300\",\"longitude\":\"-0614800\"},\"America/Araguaina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0071200\",\"longitude\":\"-0481200\"},\"America/Argentina/Buenos_Aires\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0343600\",\"longitude\":\"-0582700\"},\"America/Argentina/Catamarca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0282800\",\"longitude\":\"-0654700\"},\"America/Argentina/Cordoba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0312400\",\"longitude\":\"-0641100\"},\"America/Argentina/Jujuy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0241100\",\"longitude\":\"-0651800\"},\"America/Argentina/La_Rioja\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292600\",\"longitude\":\"-0665100\"},\"America/Argentina/Mendoza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0325300\",\"longitude\":\"-0684900\"},\"America/Argentina/Rio_Gallegos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0513800\",\"longitude\":\"-0691300\"},\"America/Argentina/Salta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0244700\",\"longitude\":\"-0652500\"},\"America/Argentina/San_Juan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0313200\",\"longitude\":\"-0683100\"},\"America/Argentina/San_Luis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0331900\",\"longitude\":\"-0662100\"},\"America/Argentina/Tucuman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0264900\",\"longitude\":\"-0651300\"},\"America/Argentina/Ushuaia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0544800\",\"longitude\":\"-0681800\"},\"America/Aruba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123000\",\"longitude\":\"-0695800\"},\"America/Asuncion\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701004T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700322T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0251600\",\"longitude\":\"-0574000\"},\"America/Atikokan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484531\",\"longitude\":\"-0913718\"},\"America/Bahia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0125900\",\"longitude\":\"-0383100\"},\"America/Bahia_Banderas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0204800\",\"longitude\":\"-1051500\"},\"America/Barbados\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130600\",\"longitude\":\"-0593700\"},\"America/Belem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0012700\",\"longitude\":\"-0482900\"},\"America/Belize\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0173000\",\"longitude\":\"-0881200\"},\"America/Blanc-Sablon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0512500\",\"longitude\":\"-0570700\"},\"America/Boa_Vista\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0024900\",\"longitude\":\"-0604000\"},\"America/Bogota\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0043600\",\"longitude\":\"-0740500\"},\"America/Boise\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433649\",\"longitude\":\"-1161209\"},\"America/Cambridge_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0690650\",\"longitude\":\"-1050310\"},\"America/Campo_Grande\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0202700\",\"longitude\":\"-0543700\"},\"America/Cancun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0210500\",\"longitude\":\"-0864600\"},\"America/Caracas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103000\",\"longitude\":\"-0665600\"},\"America/Cayenne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"-0522000\"},\"America/Cayman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191800\",\"longitude\":\"-0812300\"},\"America/Chicago\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415100\",\"longitude\":\"-0873900\"},\"America/Chihuahua\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0283800\",\"longitude\":\"-1060500\"},\"America/Costa_Rica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0095600\",\"longitude\":\"-0840500\"},\"America/Creston\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490600\",\"longitude\":\"-1163100\"},\"America/Cuiaba\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0153500\",\"longitude\":\"-0560500\"},\"America/Curacao\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0121100\",\"longitude\":\"-0690000\"},\"America/Danmarkshavn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0764600\",\"longitude\":\"-0184000\"},\"America/Dawson\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640400\",\"longitude\":\"-1392500\"},\"America/Dawson_Creek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0594600\",\"longitude\":\"-1201400\"},\"America/Denver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394421\",\"longitude\":\"-1045903\"},\"America/Detroit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0421953\",\"longitude\":\"-0830245\"},\"America/Dominica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151800\",\"longitude\":\"-0612400\"},\"America/Edmonton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0533300\",\"longitude\":\"-1132800\"},\"America/Eirunepe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064000\",\"longitude\":\"-0695200\"},\"America/El_Salvador\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134200\",\"longitude\":\"-0891200\"},\"America/Fort_Nelson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0584800\",\"longitude\":\"-1224200\"},\"America/Fortaleza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0034300\",\"longitude\":\"-0383000\"},\"America/Glace_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0461200\",\"longitude\":\"-0595700\"},\"America/Godthab\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700328T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701024T230000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0641100\",\"longitude\":\"-0514400\"},\"America/Goose_Bay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0602500\"},\"America/Grand_Turk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20190310T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20180311T020000\\\\r\\\\nRDATE:20180311T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0212800\",\"longitude\":\"-0710800\"},\"America/Grenada\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120300\",\"longitude\":\"-0614500\"},\"America/Guadeloupe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0161400\",\"longitude\":\"-0613200\"},\"America/Guatemala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143800\",\"longitude\":\"-0903100\"},\"America/Guayaquil\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0021000\",\"longitude\":\"-0795000\"},\"America/Guyana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0064800\",\"longitude\":\"-0581000\"},\"America/Halifax\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443900\",\"longitude\":\"-0633600\"},\"America/Havana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0230800\",\"longitude\":\"-0822200\"},\"America/Hermosillo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0290400\",\"longitude\":\"-1105800\"},\"America/Indiana/Indianapolis\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394606\",\"longitude\":\"-0860929\"},\"America/Indiana/Knox\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0411745\",\"longitude\":\"-0863730\"},\"America/Indiana/Marengo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382232\",\"longitude\":\"-0862041\"},\"America/Indiana/Petersburg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382931\",\"longitude\":\"-0871643\"},\"America/Indiana/Tell_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375711\",\"longitude\":\"-0864541\"},\"America/Indiana/Vevay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384452\",\"longitude\":\"-0850402\"},\"America/Indiana/Vincennes\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384038\",\"longitude\":\"-0873143\"},\"America/Indiana/Winamac\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0410305\",\"longitude\":\"-0863611\"},\"America/Inuvik\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0682059\",\"longitude\":\"-1334300\"},\"America/Iqaluit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0634400\",\"longitude\":\"-0682800\"},\"America/Jamaica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175805\",\"longitude\":\"-0764736\"},\"America/Juneau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0581807\",\"longitude\":\"-1342511\"},\"America/Kentucky/Louisville\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0381515\",\"longitude\":\"-0854534\"},\"America/Kentucky/Monticello\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364947\",\"longitude\":\"-0845057\"},\"America/Kralendijk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120903\",\"longitude\":\"-0681636\"},\"America/La_Paz\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0163000\",\"longitude\":\"-0680900\"},\"America/Lima\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0120300\",\"longitude\":\"-0770300\"},\"America/Los_Angeles\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0340308\",\"longitude\":\"-1181434\"},\"America/Lower_Princes\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180305\",\"longitude\":\"-0630250\"},\"America/Maceio\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0094000\",\"longitude\":\"-0354300\"},\"America/Managua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120900\",\"longitude\":\"-0861700\"},\"America/Manaus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-0600100\"},\"America/Marigot\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180400\",\"longitude\":\"-0630500\"},\"America/Martinique\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143600\",\"longitude\":\"-0610500\"},\"America/Matamoros\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0255000\",\"longitude\":\"-0973000\"},\"America/Mazatlan\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0231300\",\"longitude\":\"-1062500\"},\"America/Menominee\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0450628\",\"longitude\":\"-0873651\"},\"America/Merida\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0205800\",\"longitude\":\"-0893700\"},\"America/Metlakatla\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20191103T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20190120T020000\\\\r\\\\nRDATE:20190120T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550737\",\"longitude\":\"-1313435\"},\"America/Mexico_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0192400\",\"longitude\":\"-0990900\"},\"America/Miquelon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470300\",\"longitude\":\"-0562000\"},\"America/Moncton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460600\",\"longitude\":\"-0644700\"},\"America/Monterrey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0254000\",\"longitude\":\"-1001900\"},\"America/Montevideo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0345433\",\"longitude\":\"-0561245\"},\"America/Montserrat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164300\",\"longitude\":\"-0621300\"},\"America/Nassau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250500\",\"longitude\":\"-0772100\"},\"America/New_York\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0404251\",\"longitude\":\"-0740023\"},\"America/Nipigon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490100\",\"longitude\":\"-0881600\"},\"America/Nome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643004\",\"longitude\":\"-1652423\"},\"America/Noronha\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0035100\",\"longitude\":\"-0322500\"},\"America/North_Dakota/Beulah\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0471551\",\"longitude\":\"-1014640\"},\"America/North_Dakota/Center\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470659\",\"longitude\":\"-1011757\"},\"America/North_Dakota/New_Salem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465042\",\"longitude\":\"-1012439\"},\"America/Ojinaga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0293400\",\"longitude\":\"-1042500\"},\"America/Panama\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0085800\",\"longitude\":\"-0793200\"},\"America/Pangnirtung\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0660800\",\"longitude\":\"-0654400\"},\"America/Paramaribo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0055000\",\"longitude\":\"-0551000\"},\"America/Phoenix\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332654\",\"longitude\":\"-1120424\"},\"America/Port-au-Prince\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0183200\",\"longitude\":\"-0722000\"},\"America/Port_of_Spain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103900\",\"longitude\":\"-0613100\"},\"America/Porto_Velho\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084600\",\"longitude\":\"-0635400\"},\"America/Puerto_Rico\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182806\",\"longitude\":\"-0660622\"},\"America/Punta_Arenas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0530900\",\"longitude\":\"-0705500\"},\"America/Rainy_River\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484300\",\"longitude\":\"-0943400\"},\"America/Rankin_Inlet\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0624900\",\"longitude\":\"-0920459\"},\"America/Recife\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0080300\",\"longitude\":\"-0345400\"},\"America/Regina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502400\",\"longitude\":\"-1043900\"},\"America/Resolute\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0744144\",\"longitude\":\"-0944945\"},\"America/Rio_Branco\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0095800\",\"longitude\":\"-0674800\"},\"America/Santarem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0022600\",\"longitude\":\"-0545200\"},\"America/Santiago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20190407T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20190908T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180812T000000\\\\r\\\\nRDATE:20180812T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180513T000000\\\\r\\\\nRDATE:20180513T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0332700\",\"longitude\":\"-0704000\"},\"America/Santo_Domingo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182800\",\"longitude\":\"-0695400\"},\"America/Sao_Paulo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0233200\",\"longitude\":\"-0463700\"},\"America/Scoresbysund\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0702900\",\"longitude\":\"-0215800\"},\"America/Sitka\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0571035\",\"longitude\":\"-1351807\"},\"America/St_Barthelemy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175300\",\"longitude\":\"-0625100\"},\"America/St_Johns\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0230\\\\r\\\\nTZOFFSETTO:-0330\\\\r\\\\nTZNAME:NST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0330\\\\r\\\\nTZOFFSETTO:-0230\\\\r\\\\nTZNAME:NDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0473400\",\"longitude\":\"-0524300\"},\"America/St_Kitts\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0171800\",\"longitude\":\"-0624300\"},\"America/St_Lucia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140100\",\"longitude\":\"-0610000\"},\"America/St_Thomas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182100\",\"longitude\":\"-0645600\"},\"America/St_Vincent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130900\",\"longitude\":\"-0611400\"},\"America/Swift_Current\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"-1075000\"},\"America/Tegucigalpa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140600\",\"longitude\":\"-0871300\"},\"America/Thule\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0763400\",\"longitude\":\"-0684700\"},\"America/Thunder_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0482300\",\"longitude\":\"-0891500\"},\"America/Tijuana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323200\",\"longitude\":\"-1170100\"},\"America/Toronto\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433900\",\"longitude\":\"-0792300\"},\"America/Tortola\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182700\",\"longitude\":\"-0643700\"},\"America/Vancouver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491600\",\"longitude\":\"-1230700\"},\"America/Whitehorse\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0604300\",\"longitude\":\"-1350300\"},\"America/Winnipeg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0495300\",\"longitude\":\"-0970900\"},\"America/Yakutat\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593249\",\"longitude\":\"-1394338\"},\"America/Yellowknife\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0622700\",\"longitude\":\"-1142100\"},\"Antarctica/Casey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:20180311T040000\\\\r\\\\nRDATE:20180311T040000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0661700\",\"longitude\":\"+1103100\"},\"Antarctica/Davis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0683500\",\"longitude\":\"+0775800\"},\"Antarctica/DumontDUrville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0664000\",\"longitude\":\"+1400100\"},\"Antarctica/Macquarie\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0543000\",\"longitude\":\"+1585700\"},\"Antarctica/Mawson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673600\",\"longitude\":\"+0625300\"},\"Antarctica/McMurdo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0775000\",\"longitude\":\"+1663600\"},\"Antarctica/Palmer\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0644800\",\"longitude\":\"-0640600\"},\"Antarctica/Rothera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673400\",\"longitude\":\"-0680800\"},\"Antarctica/Syowa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0690022\",\"longitude\":\"+0393524\"},\"Antarctica/Troll\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:+02\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0720041\",\"longitude\":\"+0023206\"},\"Antarctica/Vostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0782400\",\"longitude\":\"+1065400\"},\"Arctic/Longyearbyen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0780000\",\"longitude\":\"+0160000\"},\"Asia/Aden\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0124500\",\"longitude\":\"+0451200\"},\"Asia/Almaty\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431500\",\"longitude\":\"+0765700\"},\"Asia/Amman\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700326T235959\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0315700\",\"longitude\":\"+0355600\"},\"Asia/Anadyr\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0644500\",\"longitude\":\"+1772900\"},\"Asia/Aqtau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443100\",\"longitude\":\"+0501600\"},\"Asia/Aqtobe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"+0571000\"},\"Asia/Ashgabat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375700\",\"longitude\":\"+0582300\"},\"Asia/Atyrau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470700\",\"longitude\":\"+0515600\"},\"Asia/Baghdad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332100\",\"longitude\":\"+0442500\"},\"Asia/Bahrain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0262300\",\"longitude\":\"+0503500\"},\"Asia/Baku\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402300\",\"longitude\":\"+0495100\"},\"Asia/Bangkok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134500\",\"longitude\":\"+1003100\"},\"Asia/Barnaul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0532200\",\"longitude\":\"+0834500\"},\"Asia/Beirut\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0335300\",\"longitude\":\"+0353000\"},\"Asia/Bishkek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0425400\",\"longitude\":\"+0743600\"},\"Asia/Brunei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"+1145500\"},\"Asia/Chita\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0520300\",\"longitude\":\"+1132800\"},\"Asia/Choibalsan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480400\",\"longitude\":\"+1143000\"},\"Asia/Colombo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:+0530\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065600\",\"longitude\":\"+0795100\"},\"Asia/Damascus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700327T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333000\",\"longitude\":\"+0361800\"},\"Asia/Dhaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0234300\",\"longitude\":\"+0902500\"},\"Asia/Dili\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083300\",\"longitude\":\"+1253500\"},\"Asia/Dubai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251800\",\"longitude\":\"+0551800\"},\"Asia/Dushanbe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0383500\",\"longitude\":\"+0684800\"},\"Asia/Famagusta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180325T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0350700\",\"longitude\":\"+0335700\"},\"Asia/Gaza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313000\",\"longitude\":\"+0342800\"},\"Asia/Hebron\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313200\",\"longitude\":\"+0350542\"},\"Asia/Ho_Chi_Minh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0104500\",\"longitude\":\"+1064000\"},\"Asia/Hong_Kong\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:HKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221700\",\"longitude\":\"+1140900\"},\"Asia/Hovd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480100\",\"longitude\":\"+0913900\"},\"Asia/Irkutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521600\",\"longitude\":\"+1042000\"},\"Asia/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Asia/Jakarta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061000\",\"longitude\":\"+1064800\"},\"Asia/Jayapura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:WIT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0023200\",\"longitude\":\"+1404200\"},\"Asia/Jerusalem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:IDT\\\\r\\\\nDTSTART:19700327T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0314650\",\"longitude\":\"+0351326\"},\"Asia/Kabul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0343100\",\"longitude\":\"+0691200\"},\"Asia/Kamchatka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0530100\",\"longitude\":\"+1583900\"},\"Asia/Karachi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:PKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0245200\",\"longitude\":\"+0670300\"},\"Asia/Kathmandu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0545\\\\r\\\\nTZOFFSETTO:+0545\\\\r\\\\nTZNAME:+0545\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0274300\",\"longitude\":\"+0851900\"},\"Asia/Khandyga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0623923\",\"longitude\":\"+1353314\"},\"Asia/Kolkata\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0223200\",\"longitude\":\"+0882200\"},\"Asia/Krasnoyarsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0560100\",\"longitude\":\"+0925000\"},\"Asia/Kuala_Lumpur\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0031000\",\"longitude\":\"+1014200\"},\"Asia/Kuching\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0013300\",\"longitude\":\"+1102000\"},\"Asia/Kuwait\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0292000\",\"longitude\":\"+0475900\"},\"Asia/Macau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221150\",\"longitude\":\"+1133230\"},\"Asia/Magadan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593400\",\"longitude\":\"+1504800\"},\"Asia/Makassar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:WITA\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0050700\",\"longitude\":\"+1192400\"},\"Asia/Manila\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143500\",\"longitude\":\"+1210000\"},\"Asia/Muscat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0233600\",\"longitude\":\"+0583500\"},\"Asia/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Asia/Novokuznetsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0534500\",\"longitude\":\"+0870700\"},\"Asia/Novosibirsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550200\",\"longitude\":\"+0825500\"},\"Asia/Omsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550000\",\"longitude\":\"+0732400\"},\"Asia/Oral\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0511300\",\"longitude\":\"+0512100\"},\"Asia/Phnom_Penh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113300\",\"longitude\":\"+1045500\"},\"Asia/Pontianak\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0000200\",\"longitude\":\"+1092000\"},\"Asia/Pyongyang\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0830\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0830\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:20180504T233000\\\\r\\\\nRDATE:20180504T233000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0390100\",\"longitude\":\"+1254500\"},\"Asia/Qatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251700\",\"longitude\":\"+0513200\"},\"Asia/Qostanay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0633700\"},\"Asia/Qyzylorda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:20181221T000000\\\\r\\\\nRDATE:20181221T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0444800\",\"longitude\":\"+0652800\"},\"Asia/Riyadh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0243800\",\"longitude\":\"+0464300\"},\"Asia/Sakhalin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465800\",\"longitude\":\"+1424200\"},\"Asia/Samarkand\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394000\",\"longitude\":\"+0664800\"},\"Asia/Seoul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0373300\",\"longitude\":\"+1265800\"},\"Asia/Shanghai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0311400\",\"longitude\":\"+1212800\"},\"Asia/Singapore\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0011700\",\"longitude\":\"+1035100\"},\"Asia/Srednekolymsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0672800\",\"longitude\":\"+1534300\"},\"Asia/Taipei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250300\",\"longitude\":\"+1213000\"},\"Asia/Tashkent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0691800\"},\"Asia/Tbilisi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0414300\",\"longitude\":\"+0444900\"},\"Asia/Tehran\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0330\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:20180321T235959\\\\r\\\\nRDATE:20180321T235959\\\\r\\\\nRDATE:20190321T235959\\\\r\\\\nRDATE:20200320T235959\\\\r\\\\nRDATE:20210321T235959\\\\r\\\\nRDATE:20220321T235959\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:20180921T235959\\\\r\\\\nRDATE:20180921T235959\\\\r\\\\nRDATE:20190921T235959\\\\r\\\\nRDATE:20200920T235959\\\\r\\\\nRDATE:20210921T235959\\\\r\\\\nRDATE:20220921T235959\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0354000\",\"longitude\":\"+0512600\"},\"Asia/Thimphu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0272800\",\"longitude\":\"+0893900\"},\"Asia/Tokyo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:JST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0353916\",\"longitude\":\"+1394441\"},\"Asia/Tomsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0563000\",\"longitude\":\"+0845800\"},\"Asia/Ulaanbaatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475500\",\"longitude\":\"+1065300\"},\"Asia/Urumqi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434800\",\"longitude\":\"+0873500\"},\"Asia/Ust-Nera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643337\",\"longitude\":\"+1431336\"},\"Asia/Vientiane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175800\",\"longitude\":\"+1023600\"},\"Asia/Vladivostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431000\",\"longitude\":\"+1315600\"},\"Asia/Yakutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620000\",\"longitude\":\"+1294000\"},\"Asia/Yangon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164700\",\"longitude\":\"+0961000\"},\"Asia/Yekaterinburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565100\",\"longitude\":\"+0603600\"},\"Asia/Yerevan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0401100\",\"longitude\":\"+0443000\"},\"Atlantic/Azores\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0374400\",\"longitude\":\"-0254000\"},\"Atlantic/Bermuda\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0321700\",\"longitude\":\"-0644600\"},\"Atlantic/Canary\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0280600\",\"longitude\":\"-0152400\"},\"Atlantic/Cape_Verde\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0145500\",\"longitude\":\"-0233100\"},\"Atlantic/Faroe\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620100\",\"longitude\":\"-0064600\"},\"Atlantic/Madeira\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323800\",\"longitude\":\"-0165400\"},\"Atlantic/Reykjavik\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640900\",\"longitude\":\"-0215100\"},\"Atlantic/South_Georgia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0541600\",\"longitude\":\"-0363200\"},\"Atlantic/St_Helena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0155500\",\"longitude\":\"-0054200\"},\"Atlantic/Stanley\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0514200\",\"longitude\":\"-0575100\"},\"Australia/Adelaide\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0345500\",\"longitude\":\"+1383500\"},\"Australia/Brisbane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0272800\",\"longitude\":\"+1530200\"},\"Australia/Broken_Hill\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0315700\",\"longitude\":\"+1412700\"},\"Australia/Currie\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0395600\",\"longitude\":\"+1435200\"},\"Australia/Darwin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0122800\",\"longitude\":\"+1305000\"},\"Australia/Eucla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0845\\\\r\\\\nTZOFFSETTO:+0845\\\\r\\\\nTZNAME:+0845\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0314300\",\"longitude\":\"+1285200\"},\"Australia/Hobart\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0425300\",\"longitude\":\"+1471900\"},\"Australia/Lindeman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201600\",\"longitude\":\"+1490000\"},\"Australia/Lord_Howe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:+1030\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0313300\",\"longitude\":\"+1590500\"},\"Australia/Melbourne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0374900\",\"longitude\":\"+1445800\"},\"Australia/Perth\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:AWST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0315700\",\"longitude\":\"+1155100\"},\"Australia/Sydney\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0335200\",\"longitude\":\"+1511300\"},\"Europe/Amsterdam\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0522200\",\"longitude\":\"+0045400\"},\"Europe/Andorra\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0423000\",\"longitude\":\"+0013100\"},\"Europe/Astrakhan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0462100\",\"longitude\":\"+0480300\"},\"Europe/Athens\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375800\",\"longitude\":\"+0234300\"},\"Europe/Belgrade\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445000\",\"longitude\":\"+0203000\"},\"Europe/Berlin\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0523000\",\"longitude\":\"+0132200\"},\"Europe/Bratislava\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480900\",\"longitude\":\"+0170700\"},\"Europe/Brussels\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0505000\",\"longitude\":\"+0042000\"},\"Europe/Bucharest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0442600\",\"longitude\":\"+0260600\"},\"Europe/Budapest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0473000\",\"longitude\":\"+0190500\"},\"Europe/Busingen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0474200\",\"longitude\":\"+0084100\"},\"Europe/Chisinau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470000\",\"longitude\":\"+0285000\"},\"Europe/Copenhagen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554000\",\"longitude\":\"+0123500\"},\"Europe/Dublin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0061500\"},\"Europe/Gibraltar\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0360800\",\"longitude\":\"-0052100\"},\"Europe/Guernsey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0492717\",\"longitude\":\"-0023210\"},\"Europe/Helsinki\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0601000\",\"longitude\":\"+0245800\"},\"Europe/Isle_of_Man\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0540900\",\"longitude\":\"-0042800\"},\"Europe/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Europe/Jersey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491101\",\"longitude\":\"-0020624\"},\"Europe/Kaliningrad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544300\",\"longitude\":\"+0203000\"},\"Europe/Kiev\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502600\",\"longitude\":\"+0303100\"},\"Europe/Kirov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0583600\",\"longitude\":\"+0493900\"},\"Europe/Lisbon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0384300\",\"longitude\":\"-0090800\"},\"Europe/Ljubljana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460300\",\"longitude\":\"+0143100\"},\"Europe/London\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513030\",\"longitude\":\"+0000731\"},\"Europe/Luxembourg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0493600\",\"longitude\":\"+0060900\"},\"Europe/Madrid\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402400\",\"longitude\":\"-0034100\"},\"Europe/Malta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355400\",\"longitude\":\"+0143100\"},\"Europe/Mariehamn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0600600\",\"longitude\":\"+0195700\"},\"Europe/Minsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0535400\",\"longitude\":\"+0273400\"},\"Europe/Monaco\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434200\",\"longitude\":\"+0072300\"},\"Europe/Moscow\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554521\",\"longitude\":\"+0373704\"},\"Europe/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Europe/Oslo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0595500\",\"longitude\":\"+0104500\"},\"Europe/Paris\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0485200\",\"longitude\":\"+0022000\"},\"Europe/Podgorica\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0422600\",\"longitude\":\"+0191600\"},\"Europe/Prague\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0500500\",\"longitude\":\"+0142600\"},\"Europe/Riga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565700\",\"longitude\":\"+0240600\"},\"Europe/Rome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415400\",\"longitude\":\"+0122900\"},\"Europe/Samara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0500900\"},\"Europe/San_Marino\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435500\",\"longitude\":\"+0122800\"},\"Europe/Sarajevo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435200\",\"longitude\":\"+0182500\"},\"Europe/Saratov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513400\",\"longitude\":\"+0460200\"},\"Europe/Simferopol\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445700\",\"longitude\":\"+0340600\"},\"Europe/Skopje\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415900\",\"longitude\":\"+0212600\"},\"Europe/Sofia\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0424100\",\"longitude\":\"+0231900\"},\"Europe/Stockholm\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592000\",\"longitude\":\"+0180300\"},\"Europe/Tallinn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592500\",\"longitude\":\"+0244500\"},\"Europe/Tirane\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0195000\"},\"Europe/Ulyanovsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0542000\",\"longitude\":\"+0482400\"},\"Europe/Uzhgorod\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0483700\",\"longitude\":\"+0221800\"},\"Europe/Vaduz\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470900\",\"longitude\":\"+0093100\"},\"Europe/Vatican\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415408\",\"longitude\":\"+0122711\"},\"Europe/Vienna\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0481300\",\"longitude\":\"+0162000\"},\"Europe/Vilnius\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544100\",\"longitude\":\"+0251900\"},\"Europe/Volgograd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:20181028T020000\\\\r\\\\nRDATE:20181028T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484400\",\"longitude\":\"+0442500\"},\"Europe/Warsaw\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521500\",\"longitude\":\"+0210000\"},\"Europe/Zagreb\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0454800\",\"longitude\":\"+0155800\"},\"Europe/Zaporozhye\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475000\",\"longitude\":\"+0351000\"},\"Europe/Zurich\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0472300\",\"longitude\":\"+0083200\"},\"Indian/Antananarivo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0185500\",\"longitude\":\"+0473100\"},\"Indian/Chagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0072000\",\"longitude\":\"+0722500\"},\"Indian/Christmas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0102500\",\"longitude\":\"+1054300\"},\"Indian/Cocos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0121000\",\"longitude\":\"+0965500\"},\"Indian/Comoro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114100\",\"longitude\":\"+0431600\"},\"Indian/Kerguelen\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0492110\",\"longitude\":\"+0701303\"},\"Indian/Mahe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0044000\",\"longitude\":\"+0552800\"},\"Indian/Maldives\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0041000\",\"longitude\":\"+0733000\"},\"Indian/Mauritius\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201000\",\"longitude\":\"+0573000\"},\"Indian/Mayotte\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0124700\",\"longitude\":\"+0451400\"},\"Indian/Reunion\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0205200\",\"longitude\":\"+0552800\"},\"Pacific/Apia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700405T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700927T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0135000\",\"longitude\":\"-1714400\"},\"Pacific/Auckland\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0365200\",\"longitude\":\"+1744600\"},\"Pacific/Bougainville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061300\",\"longitude\":\"+1553400\"},\"Pacific/Chatham\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1245\\\\r\\\\nTZOFFSETTO:+1345\\\\r\\\\nTZNAME:+1345\\\\r\\\\nDTSTART:19700927T024500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1345\\\\r\\\\nTZOFFSETTO:+1245\\\\r\\\\nTZNAME:+1245\\\\r\\\\nDTSTART:19700405T034500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0435700\",\"longitude\":\"-1763300\"},\"Pacific/Chuuk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072500\",\"longitude\":\"+1514700\"},\"Pacific/Easter\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20190406T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20190907T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20180811T220000\\\\r\\\\nRDATE:20180811T220000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20180512T220000\\\\r\\\\nRDATE:20180512T220000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0270900\",\"longitude\":\"-1092600\"},\"Pacific/Efate\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0174000\",\"longitude\":\"+1682500\"},\"Pacific/Enderbury\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-1710500\"},\"Pacific/Fakaofo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0092200\",\"longitude\":\"-1711400\"},\"Pacific/Fiji\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700118T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20191110T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0180800\",\"longitude\":\"+1782500\"},\"Pacific/Funafuti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083100\",\"longitude\":\"+1791300\"},\"Pacific/Galapagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0005400\",\"longitude\":\"-0893600\"},\"Pacific/Gambier\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:-09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0230800\",\"longitude\":\"-1345700\"},\"Pacific/Guadalcanal\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093200\",\"longitude\":\"+1601200\"},\"Pacific/Guam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"+1444500\"},\"Pacific/Honolulu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0211825\",\"longitude\":\"-1575130\"},\"Pacific/Kiritimati\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0015200\",\"longitude\":\"-1572000\"},\"Pacific/Kosrae\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"+1625900\"},\"Pacific/Kwajalein\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090500\",\"longitude\":\"+1672000\"},\"Pacific/Majuro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0070900\",\"longitude\":\"+1711200\"},\"Pacific/Marquesas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0930\\\\r\\\\nTZOFFSETTO:-0930\\\\r\\\\nTZNAME:-0930\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0090000\",\"longitude\":\"-1393000\"},\"Pacific/Midway\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0281300\",\"longitude\":\"-1772200\"},\"Pacific/Nauru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0003100\",\"longitude\":\"+1665500\"},\"Pacific/Niue\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:-11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0190100\",\"longitude\":\"-1695500\"},\"Pacific/Norfolk\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:20191006T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20200405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1130\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20190701T000000\\\\r\\\\nRDATE:20190701T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0290300\",\"longitude\":\"+1675800\"},\"Pacific/Noumea\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0221600\",\"longitude\":\"+1662700\"},\"Pacific/Pago_Pago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0141600\",\"longitude\":\"-1704200\"},\"Pacific/Palau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072000\",\"longitude\":\"+1342900\"},\"Pacific/Pitcairn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:-08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0250400\",\"longitude\":\"-1300500\"},\"Pacific/Pohnpei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065800\",\"longitude\":\"+1581300\"},\"Pacific/Port_Moresby\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093000\",\"longitude\":\"+1471000\"},\"Pacific/Rarotonga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211400\",\"longitude\":\"-1594600\"},\"Pacific/Saipan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151200\",\"longitude\":\"+1454500\"},\"Pacific/Tahiti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0173200\",\"longitude\":\"-1493400\"},\"Pacific/Tarawa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0012500\",\"longitude\":\"+1730000\"},\"Pacific/Tongatapu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211000\",\"longitude\":\"-1751000\"},\"Pacific/Wake\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191700\",\"longitude\":\"+1663700\"},\"Pacific/Wallis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0131800\",\"longitude\":\"-1761000\"}}}')},function(t,n,e){\"use strict\";function r(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,o=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw o}}}}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.r(n),n.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var n=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===n.length||!this.hasNodeOrAnyParentClass(t.target,n)},hasNodeOrAnyParentClass:function(t,n){var e,i=r(n);try{for(i.s();!(e=i.n()).done;){var a,o=e.value;if(null!=t&&null!==(a=t.classList)&&void 0!==a&&a.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,n)}}}},function(t,n,e){\"use strict\";e.r(n),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,n){t.exports=require(\"@nextcloud/browser-storage\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,n,e){\"use strict\";e.r(n);var r={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=e(2),a=e.n(i),o=e(33),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(34)),s={insert:\"head\",singleton:!1},A=(a()(l.a,s),l.a.locals,e(3)),c={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(A.a)(r,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(n){return n.preventDefault(),t.item.action(n)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(n){var e=t.item.model,r=n.target,i=!!r.checked;if(Array.isArray(e)){var a=t._i(e,null);r.checked?a<0&&t.$set(t.item,\"model\",e.concat([null])):a>-1&&t.$set(t.item,\"model\",e.slice(0,a).concat(e.slice(a+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(n){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(n){n.target.composing||t.$set(t.item,\"model\",n.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=e(35),u={insert:\"head\",singleton:!1},E=(a()(d.a,u),d.a.locals,e(36)),m=e.n(E),p=Object(A.a)(c,(function(){var t=this.$createElement,n=this._self._c||t;return n(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,e){return n(\"PopoverMenuItem\",{key:e,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=D},function(t,n,e){\"use strict\";e.r(n);var r=e(15),i=e.n(r),a=e(28),o=e(7),T=e(49),l=e(18),s=e(16),A=e(21),c=e.n(A),d=e(54),u=e(11),E=e(58),m=e(24),p=e(4),D=e(14);function S(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}function g(t){return function(){var n=this,e=arguments;return new Promise((function(r,i){var a=t.apply(n,e);function o(t){S(a,r,i,o,T,\"next\",t)}function T(t){S(a,r,i,o,T,\"throw\",t)}o(void 0)}))}}var N=Object(T.getBuilder)(\"nextcloud\").persist().build();function F(t){var n=N.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof n?Boolean(n):null}function R(t,n){t&&N.setItem(\"user-has-avatar.\"+t,n)}var h={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:D.a,PopoverMenu:d.default},mixins:[m.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(p.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var n=Object(E.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+n.r+\", \"+n.g+\", \"+n.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var n=this.getUserIdentifier,e=n.indexOf(\" \");\"\"===n?t=\"?\":(t=String.fromCodePoint(n.codePointAt(0)),-1!==e&&(t=t.concat(String.fromCodePoint(n.codePointAt(e+1)))))}return t.toUpperCase()},menu:function(){var t,n,e,r=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,n=document.createTextNode(t),e=document.createElement(\"p\"),e.appendChild(n),e.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(s.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(s.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.hasMenu){n.next=2;break}return n.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){n.next=5;break}return n.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return n.stop()}}),n)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){var e,r,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t.contactsMenuLoading=!0,n.prev=1,e=encodeURIComponent(t.user),n.next=5,c.a.post(Object(o.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(e));case 5:r=n.sent,i=r.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,n.next=13;break;case 10:n.prev=10,n.t0=n.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return n.stop()}}),n,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),n=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,n)}},avatarUrlGenerator:function(t,n){var e,r=\"/avatar/{user}/{size}\";this.isGuest&&(r=\"/avatar/guest/{user}/{size}\");var i=Object(o.generateUrl)(r,{user:t,size:n});return t===(null===(e=Object(l.getCurrentUser)())||void 0===e?void 0:e.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var n=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=F(this.user);if(this.isUserDefined&&\"boolean\"==typeof r)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),void(!1===r&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){n.avatarUrlLoaded=t,e&&(n.avatarSrcSetLoaded=e),n.isAvatarLoaded=!0,R(n.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),n.avatarUrlLoaded=null,n.avatarSrcSetLoaded=null,n.userDoesNotExist=!0,n.isAvatarLoaded=!1,R(n.user,!1)},e&&(i.srcset=e),i.src=t}}},O=e(2),B=e.n(O),C=e(41),b={insert:\"head\",singleton:!1},f=(B()(C.a,b),C.a.locals,e(3)),v=e(42),x=e.n(v),Y=Object(f.a)(h,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:t.toggleMenu(n)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?e(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"div\",{staticClass:\"icon-loading\"}):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[e(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?e(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof x.a&&x()(Y);var Z=Y.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=Z},function(t,n){t.exports=require(\"md5\")},function(t,n){t.exports=require(\"@nextcloud/capabilities\")},function(t,n,e){\"use strict\";e.r(n);var r=e(56),i=e.n(r),a=e(44),o=function(t){var n=t.toLowerCase();null===n.match(/^([0-9a-f]{4}-?){8}$/)&&(n=i()(n)),n=n.replace(/[^0-9a-f]/g,\"\");return Object(a.a)(6)[function(t,n){for(var e=0,r=[],i=0;i<t.length;i++)r.push(parseInt(t.charAt(i),16)%16);for(var a in r)e+=r[a];return parseInt(parseInt(e,10)%n,10)}(n,18)]};n.default=o},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(71),i=e.n(r),a=e(40),o=e(38),T={name:\"EllipsisedOption\",components:{Highlight:a.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(n){return{start:n.start-t.split,end:n.end-t.split}}))}}},l=e(2),s=e.n(l),A=e(64),c={insert:\"head\",singleton:!1},d=(s()(A.a,c),A.a.locals,e(3)),u=Object(d.a)(T,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,E=e(22),m=e(67),p=e(11);function D(t){return(D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var S={name:\"Multiselect\",components:{EllipsisedOption:u,ListItemIcon:m.default,VueMultiselect:i.a},directives:{tooltip:p.default},mixins:[E.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==D(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var n;return String(null===(n=this.$refs.VueMultiselect)||void 0===n?void 0:n.getOptionLabel(t))},formatLimitTitle:function(t){var n=this;if(Array.isArray(t)&&t.length>0){var e=t;return\"object\"===D(t[0])&&(e=t.map((function(t){return t[n.label]}))),e.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},g=e(65),N=e.n(g),F=Object(d.a)(S,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"ListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"ListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),option:n.option,search:n.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}})),{key:\"noResult\",fn:function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(n){t.localValue=n},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof N.a&&N()(F);n.a=F.exports},function(t,n,e){\"use strict\";e.r(n);var r=e(55),i=e(40),a=e(24),o={name:\"ListItemIcon\",components:{Avatar:r.default,Highlight:i.default},mixins:[a.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,n;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(n=t.trim)||void 0===n?void 0:n.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},T=e(2),l=e.n(T),s=e(60),A={insert:\"head\",singleton:!1},c=(l()(s.a,A),s.a.locals,e(3)),d=e(61),u=e.n(d),E=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof u.a&&u()(E);var m=E.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(66),a=e(2),o=e.n(a),T=e(70),l={insert:\"head\",singleton:!1};o()(T.a,l),T.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(i.a);n.default=i.a},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"vue-multiselect\")},function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-5c87e24c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-5c87e24c] .multiselect__tags{border:none !important}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./TimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,qCACC,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n){t.exports=require(\"@nextcloud/calendar-js\")},function(t,n){t.exports=require(\"@nextcloud/logger\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-e196afc6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-e196afc6]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-e196afc6]{opacity:.7}.datetime-picker-inline-icon[data-v-e196afc6]:focus,.datetime-picker-inline-icon[data-v-e196afc6]:hover{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./DatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+RxB,8CACC,UAAW,CACX,WAAY,CACZ,4BAA6B,CAC7B,eAAgB,CAChB,sBAAuB,CAEvB,2DACC,UAAW,CARb,wGAaE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(111),A=e(112),c=e(113),d=e(114),u=e(115),E=e(116),m=e(117),p=e(118),D=o()(i.a),S=l()(s.a),g=l()(A.a),N=l()(c.a),F=l()(d.a),R=l()(u.a),h=l()(E.a),O=l()(m.a),B=l()(p.a);D.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:'';position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(0.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(0.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:transparent;outline:none;border:1px solid rgba(0,0,0,0.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity 0.24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,0.3);transition:background-color 0.3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-0.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input-wrapper .mx-icon-clear{display:none}.mx-input-wrapper:hover .mx-icon-clear{display:block}.mx-input-wrapper:hover .mx-icon-clear+.mx-icon-calendar{display:none}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px;padding-left:10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(0,0,0,0.5);vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:rgba(0,0,0,0.8)}.mx-datepicker-main{font:14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px rgba(0,0,0,0.175);z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media (max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:'~'}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover{color:inherit;background-color:transparent}.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:transparent}.mx-week-number{opacity:0.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list::after{content:'';display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-357763c]{user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-357763c] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-input{width:100%;border:1px solid var(--color-border);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-357763c] .mx-input-wrapper:disabled,.mx-datepicker[data-v-357763c] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face) !important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:266px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-calendar{width:234px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:266px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius) 0 0 var(--border-radius)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius) var(--border-radius) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 auto;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+S+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+g+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+N+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+F+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+R+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+h+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+O+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+B+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../../node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n\\n th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index.scss';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=D},,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(68),i=e(4);function a(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,a=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw a}}}}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function T(t){return t.split(\"_\").join(\" \").replace(\"St \",\"St. \").split(\"/\").join(\" - \")}var l=e(79),s=e(46),A=e(80),c=Object(A.getLoggerBuilder)().detectUser().setApp(\"@nextcloud/vue\").build();function d(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,n){if(!t)return;if(\"string\"==typeof t)return u(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return u(t,n)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function u(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var E=Object(l.getTimezoneManager)(),m=!1,p=function(){return m||function(){for(var t in c.debug(\"Using version \".concat(s.version,\" of the timezone database\")),s.zones)if(Object.prototype.hasOwnProperty.call(s.zones,[t])){var n=[\"BEGIN:VTIMEZONE\",\"TZID:\"+t].concat(d(s.zones[t].ics),[\"END:VTIMEZONE\"]).join(\"\\r\\n\");E.registerTimezoneFromICS(t,n)}for(var e in s.aliases)Object.prototype.hasOwnProperty.call(s.aliases,[e])&&E.registerAlias(e,s.aliases[e].aliasTo);m=!0}(),E};function D(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return S(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return S(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,T=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){T=!0,a=t},f:function(){try{o||null==e.return||e.return()}finally{if(T)throw a}}}}function S(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var g={name:\"TimezonePicker\",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:\"floating\"}},computed:{placeholder:function(){return Object(i.b)(\"Type to search time zone\")},selectedTimezone:function(){var t,n=D(this.additionalTimezones);try{for(n.s();!(t=n.n()).done;){var e=t.value;if(e.timezoneId===this.value)return e}}catch(t){n.e(t)}finally{n.f()}return{label:T(this.value),timezoneId:this.value}},options:function(){return function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},o=[],l=a(n);try{for(l.s();!(t=l.n()).done;){var s=t.value,A=s.split(\"/\"),c=[A.shift(),A.join(\"/\")],d=c[0],u=c[1];u||(u=d,d=Object(i.b)(\"Global\")),r[d]=r[d]||{continent:d,regions:[]},r[d].regions.push({label:T(u),cities:[],timezoneId:s})}}catch(t){l.e(t)}finally{l.f()}var E,m=a(e);try{for(m.s();!(E=m.n()).done;){var p=E.value,D=p.continent,S=p.label,g=p.timezoneId;r[D]=r[D]||{continent:D,regions:[]},r[D].regions.push({label:S,cities:[],timezoneId:g})}}catch(t){m.e(t)}finally{m.f()}for(var N in r)Object.prototype.hasOwnProperty.call(r,N)&&(r[N].regions.sort((function(t,n){return t.label<n.label?-1:1})),o.push(r[N]));return o.sort((function(t,n){return t.continent<n.continent?-1:1})),o}(p().listAllTimezones(),this.additionalTimezones)}},methods:{change:function(t){t&&this.$emit(\"input\",t.timezoneId)}}},N=e(2),F=e.n(N),R=e(75),h={insert:\"head\",singleton:!1},O=(F()(R.a,h),R.a.locals,e(3)),B=e(76),C=e.n(B),b=Object(O.a)(g,(function(){var t=this.$createElement;return(this._self._c||t)(\"Multiselect\",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,\"group-select\":!1,placeholder:this.placeholder,\"group-values\":\"regions\",\"group-label\":\"continent\",\"track-by\":\"timezoneId\",label:\"label\",\"open-direction\":\"above\"},on:{input:this.change}})}),[],!1,null,\"5c87e24c\",null);\"function\"==typeof C.a&&C()(b);var f=b.exports;\n/**\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */n.default=f},,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(110),a=e.n(i),o=e(19),T=e(98),l={name:\"DatetimePicker\",components:{DatePicker:a.a,Popover:o.default,TimezonePicker:T.default},inheritAttrs:!1,props:{clearable:{type:Boolean,default:function(){return!1}},minuteStep:{type:Number,default:function(){return 10}},type:{type:String,default:\"date\"},format:{type:String,default:function(){var t={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"};return t[this.type]||t.date}},formatter:{type:Object,default:function(){return null}},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},methods:{handleSelectYear:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setFullYear(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},handleSelectMonth:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setMonth(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},s=e(2),A=e.n(s),c=e(81),d={insert:\"head\",singleton:!1},u=(A()(c.a,d),c.a.locals,e(3)),E=e(82),m=e.n(E),p=Object(u.a)(l,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"DatePicker\",t._g(t._b({ref:\"datepicker\",attrs:{clearable:t.clearable,\"minute-step\":t.minuteStep,format:t.format,formatter:t.formatter,type:t.type,value:t.value,\"append-to-body\":t.appendToBody,\"show-week-number\":t.showWeekNumber,\"popup-class\":{\"show-week-number\":t.showWeekNumber}},on:{\"select-year\":t.handleSelectYear,\"select-month\":t.handleSelectMonth,\"update:value\":function(n){return t.$emit(\"update:value\",t.value)}},scopedSlots:t._u([t.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"Popover\",{attrs:{open:t.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(n){t.showTimezonePopover=n}},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":t.highlightTimezone},on:{mousedown:function(t){t.stopPropagation(),t.preventDefault()}}})]},proxy:!0}],null,!1,3073042688)},[t._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),t._v(\" \"),e(\"TimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(n){return t.$emit(\"update:timezone-id\",arguments[0])}},model:{value:t.tzVal,callback:function(n){t.tzVal=n},expression:\"tzVal\"}})],1)]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)},\"DatePicker\",t.$attrs,!1),t.$listeners))}),[],!1,null,\"e196afc6\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports,S=e(83),g={insert:\"head\",singleton:!1};A()(S.a,g),S.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(D);n.default=D},,,,,,,function(t,n){t.exports=require(\"vue2-datepicker\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},,,,,,,,,,,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-56a0ce5b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']),textarea[data-v-56a0ce5b]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,button[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-56a0ce5b],textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-56a0ce5b]{border-color:var(--color-primary-element);outline:none}button[data-v-56a0ce5b]:not(:disabled):not(.primary):active,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-56a0ce5b]:disabled,input[data-v-56a0ce5b]:not([type='range']):disabled,textarea[data-v-56a0ce5b]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-56a0ce5b]:required,input[data-v-56a0ce5b]:not([type='range']):required,textarea[data-v-56a0ce5b]:required{box-shadow:none}button[data-v-56a0ce5b]:invalid,input[data-v-56a0ce5b]:not([type='range']):invalid,textarea[data-v-56a0ce5b]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-56a0ce5b],input:not([type='range']).primary[data-v-56a0ce5b],textarea.primary[data-v-56a0ce5b]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-56a0ce5b]:not(:disabled):hover,button.primary[data-v-56a0ce5b]:not(:disabled):focus,button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):hover,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):focus,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):hover,textarea.primary[data-v-56a0ce5b]:not(:disabled):focus,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-56a0ce5b]:disabled,input:not([type='range']).primary[data-v-56a0ce5b]:disabled,textarea.primary[data-v-56a0ce5b]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-56a0ce5b]{background-color:var(--color-background-hover)}.action--disabled[data-v-56a0ce5b]{pointer-events:none;opacity:.5}.action--disabled[data-v-56a0ce5b]:hover,.action--disabled[data-v-56a0ce5b]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-56a0ce5b]{opacity:1 !important}.action-input[data-v-56a0ce5b]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal}.action-input[data-v-56a0ce5b] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-56a0ce5b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-56a0ce5b]:not(.action-input--picker){opacity:.7}.action-input[data-v-56a0ce5b]:not(.action-input--picker):hover,.action-input[data-v-56a0ce5b]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-56a0ce5b]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-56a0ce5b],.action-input--picker:focus .action-input__icon[data-v-56a0ce5b]{opacity:1}.action-input>span[data-v-56a0ce5b]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-56a0ce5b]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-56a0ce5b]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-56a0ce5b]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-56a0ce5b]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:transparent;border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-56a0ce5b],.action-input__label *[data-v-56a0ce5b]{cursor:pointer}.action-input__input[data-v-56a0ce5b]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-56a0ce5b]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-56a0ce5b]{border-color:var(--color-error);border-left-color:transparent}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-56a0ce5b]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}.action-input__picker[data-v-56a0ce5b] .mx-input{margin:0}.action-input__multi[data-v-56a0ce5b]{width:100%}li:last-child>.action-input[data-v-56a0ce5b]{padding-bottom:10px}li:first-child>.action-input[data-v-56a0ce5b]{padding-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CCqNxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CAlBpB,qDAqBE,UFzPmB,CE0PnB,WF1PmB,CE2PnB,SFxOc,CEiNhB,gFA0BG,qBAAsB,CA1BzB,0DAgCE,UFlPiB,CEkNnB,gIAmCG,SFpPa,CEqPb,2DAMA,UF5PgB,CE0PjB,kIAMC,SF/Pa,CEiNhB,oCAmDE,cAAe,CACf,kBAAmB,CACnB,qCAGA,WAAY,CACZ,YAAa,CAGb,wBFhSmB,CEkSnB,+BAA2C,CAC3C,oBF/Rc,CEgSd,qCAIA,YAAa,CACb,kBAAmB,CACnB,aAAc,CAEd,YAAuB,CACvB,kBFrS8C,CEsS9C,uCAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,sCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAEvB,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,iBAAkB,CAClB,eAAgB,CAEhB,SFjTc,CEkTd,+BAAgC,CAChC,yCAA0C,CAC1C,6BAA8B,CAC9B,2DAA4D,CAE5D,6CAA8C,CAC9C,2BAA4B,CAlB5B,8EAqBC,cAAe,CACf,sCAKD,aAAc,CAEd,eAA8B,CAC9B,eAAY,CACZ,eAAY,CACZ,QAAS,CANT,+CAUC,cAAe,CAVhB,wGAiBG,+BAAgC,CAChC,6BAA8B,CAlBjC,gWAyBG,yCAA0C,CAC1C,kCAAmC,CA1BtC,iPAmCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,iDAMD,QAAS,CACT,sCAID,UAAW,CACX,6CAOD,mBAA4C,CAC5C,8CAIA,gBAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep {\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(72),i=e.n(r),a=e(27),o=e(17),T=e(103),l=e(68),s={name:\"ActionInput\",components:{ArrowRight:i.a,DatetimePicker:T.default,Multiselect:l.default},mixins:[a.a],props:{id:{type:String,default:function(){return\"action-\"+Object(o.a)()},validator:function(t){return\"\"!==t.trim()}},icon:{type:String,default:\"\",required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(t)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target?t.target.value:t)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)},onChange:function(t){this.$emit(\"change\",t)}}},A=e(2),c=e.n(A),d=e(130),u={insert:\"head\",singleton:!1},E=(c()(d.a,u),d.a.locals,e(3)),m=e(131),p=e.n(m),D=Object(E.a)(s,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":t.isDatePickerType,\"action-input-picker--disabled\":t.disabled},on:{mouseleave:t.onLeave}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-input__icon\",class:[t.isIconUrl?\"action-input__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[t.isDatePickerType?e(\"DatetimePicker\",t._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:t.value,placeholder:t.text,disabled:t.disabled,type:t.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:t.isFocusable}]},on:{input:t.onInput,change:t.onChange}},\"DatetimePicker\",t.$attrs,!1)):t.isMultiselectType?e(\"Multiselect\",t._g(t._b({staticClass:\"action-input__multi\",class:{focusable:t.isFocusable},attrs:{value:t.value,placeholder:t.text,disabled:t.disabled}},\"Multiselect\",t.$attrs,!1),t.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),e(\"input\",t._b({staticClass:\"action-input__input\",class:{focusable:t.isFocusable},attrs:{type:t.type,placeholder:t.text,disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput,change:t.onChange}},\"input\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)]],2)],2)])}),[],!1,null,\"56a0ce5b\",null);\"function\"==typeof p.a&&p()(D);var S=D.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=S}])}));\n//# sourceMappingURL=ActionInput.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionTextEditable\",[],n):\"object\"==typeof exports?exports[\"Components/ActionTextEditable\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionTextEditable\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var a in t)e.d(o,a,function(n){return t[n]}.bind(null,a));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=210)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,a,r=[],i=!0,c=!1;try{for(e=e.call(t);!(i=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);i=!0);}catch(t){c=!0,a=t}finally{try{i||null==e.return||e.return()}finally{if(c)throw a}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return a(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return a(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],a=n[3];if(!a)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),i=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(i,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(o)for(var r=0;r<this.length;r++){var i=this[r][0];null!=i&&(a[i]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&a[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},136:function(t,n,e){\"use strict\";var o=e(0),a=e.n(o),r=e(1),i=e.n(r)()(a.a);i.push([t.i,\".material-design-icon[data-v-0f3c4318]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']),textarea[data-v-0f3c4318]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-0f3c4318]:not(:disabled):not(.primary):hover,button[data-v-0f3c4318]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-0f3c4318],textarea[data-v-0f3c4318]:not(:disabled):not(.primary):hover,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-0f3c4318]{border-color:var(--color-primary-element);outline:none}button[data-v-0f3c4318]:not(:disabled):not(.primary):active,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-0f3c4318]:disabled,input[data-v-0f3c4318]:not([type='range']):disabled,textarea[data-v-0f3c4318]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-0f3c4318]:required,input[data-v-0f3c4318]:not([type='range']):required,textarea[data-v-0f3c4318]:required{box-shadow:none}button[data-v-0f3c4318]:invalid,input[data-v-0f3c4318]:not([type='range']):invalid,textarea[data-v-0f3c4318]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-0f3c4318],input:not([type='range']).primary[data-v-0f3c4318],textarea.primary[data-v-0f3c4318]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-0f3c4318]:not(:disabled):hover,button.primary[data-v-0f3c4318]:not(:disabled):focus,button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):hover,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):focus,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):hover,textarea.primary[data-v-0f3c4318]:not(:disabled):focus,textarea.primary[data-v-0f3c4318]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-0f3c4318]:disabled,input:not([type='range']).primary[data-v-0f3c4318]:disabled,textarea.primary[data-v-0f3c4318]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-0f3c4318]{background-color:var(--color-background-hover)}.action--disabled[data-v-0f3c4318]{pointer-events:none;opacity:.5}.action--disabled[data-v-0f3c4318]:hover,.action--disabled[data-v-0f3c4318]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-0f3c4318]{opacity:1 !important}.action-text-editable[data-v-0f3c4318]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-0f3c4318]:hover,.action-text-editable[data-v-0f3c4318]:focus{opacity:1}.action-text-editable>span[data-v-0f3c4318]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-0f3c4318]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable__form[data-v-0f3c4318]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-0f3c4318]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-0f3c4318]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-0f3c4318],.action-text-editable__label *[data-v-0f3c4318]{cursor:pointer}.action-text-editable__textarea[data-v-0f3c4318]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-0f3c4318]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-0f3c4318]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-0f3c4318]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-0f3c4318]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-0f3c4318]{margin-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CC0HxB,uCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,UFnIkB,CEoIlB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBF7JoB,CEyIrB,0FAwBE,SF9Ic,CEsHhB,4CA4BE,cAAe,CACf,kBAAmB,CACnB,6CAGA,WAAY,CACZ,YAAa,CAGb,wBF9KmB,CEgLnB,+BAA2C,CAC3C,oBF7Kc,CE8Kd,6CAIA,YAAa,CACb,aAAc,CACd,qBAAsB,CAEtB,iBAAkB,CAClB,YAAuB,CACvB,kBFpL8C,CEqL9C,+CAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,8CAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,iBAAkB,CAClB,UAAuB,CACvB,UAAW,CACX,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,QAAS,CACT,eAAgB,CAEhB,SFpMc,CEqMd,+BAAgC,CAChC,QAAS,CACT,iBAAkB,CAElB,6CAA8C,CAC9C,2BAA4B,CArB5B,8FAwBC,cAAe,CACf,iDAKD,aAAc,CAEd,eAAY,CACZ,gBAAY,CAEZ,eAA8B,CAC9B,qBAAsB,CACtB,QAAS,CART,0DAYC,cAAe,CAZhB,2HAmBG,mCAAoC,CAnBvC,yZA0BG,6CAA8C,CAC9C,+BAAgC,CA3BnC,0SAoCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,qDASH,kBAA2C,CAC3C,sDAIA,eAAwC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=i},137:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,a=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),i=[];function c(t){for(var n=-1,e=0;e<i.length;e++)if(i[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},o=[],a=0;a<t.length;a++){var r=t[a],l=n.base?r[0]+n.base:r[0],s=e[l]||0,d=\"\".concat(l,\" \").concat(s);e[l]=s+1;var u=c(d),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(i[u].references++,i[u].updater(p)):i.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function s(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var a=e.nc;a&&(o.nonce=a)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var i=r(t.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var a=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,a);else{var r=document.createTextNode(a),i=t.childNodes;i[n]&&t.removeChild(i[n]),i.length?t.insertBefore(r,i[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,a=e.media,r=e.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var b=null,A=0;function m(t,n){var e,o,a;if(n.singleton){var r=A++;e=b||(b=s(n)),o=p.bind(null,e,r,!1),a=p.bind(null,e,r,!0)}else e=s(n),o=f.bind(null,e,n),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else a()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=a());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var a=c(e[o]);i[a].references--}for(var r=l(t,n),s=0;s<e.length;s++){var d=c(e[s]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}e=r}}}},210:function(t,n,e){\"use strict\";e.r(n);var o=e(72),a=e.n(o),r=e(32),i=e(17),c={name:\"ActionTextEditable\",components:{ArrowRight:a.a},mixins:[r.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target.value)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)}}},l=e(2),s=e.n(l),d=e(136),u={insert:\"head\",singleton:!1},p=(s()(d.a,u),d.a.locals,e(3)),f=e(137),b=e.n(f),A=Object(p.a)(c,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[t.isIconUrl?\"action-text-editable__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),t.title?e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"textarea\",t._b({class:[\"action-text-editable__textarea\",{focusable:t.isFocusable}],attrs:{disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput}},\"textarea\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)])])])}),[],!1,null,\"0f3c4318\",null);\"function\"==typeof b.a&&b()(A);var m=A.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},27:function(t,n,e){\"use strict\";var o=e(6),a=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(a.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,a,r,i,c){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),o&&(s.functional=!0),r&&(s._scopeId=\"data-v-\"+r),i?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},s._ssrRegister=l):a&&(l=c?function(){a.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(s.functional){s._injectStyles=l;var d=s.render;s.render=function(t,n){return l.call(n),d(t,n)}}else{var u=s.beforeCreate;s.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),a=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=a(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},72:function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")}})}));\n//# sourceMappingURL=ActionTextEditable.js.map","var isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn) {\n var module = { exports: {} };\n\treturn fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global$1 =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\nvar fails = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nvar f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor$2(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar objectPropertyIsEnumerable = {\n\tf: f$4\n};\n\nvar createPropertyDescriptor = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\nvar toString = {}.toString;\n\nvar classofRaw = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\n\n\n\nvar toIndexedObject = function (it) {\n return indexedObject(requireObjectCoercible(it));\n};\n\nvar isObject = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nvar toPrimitive = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar has$1 = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n\nvar document$1 = global$1.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n return EXISTS ? document$1.createElement(it) : {};\n};\n\n// Thank's IE8 for his funny defineProperty\nvar ie8DomDefine = !descriptors && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(documentCreateElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nvar f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (ie8DomDefine) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\n\nvar objectGetOwnPropertyDescriptor = {\n\tf: f$3\n};\n\nvar anObject = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nvar f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (ie8DomDefine) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\nvar objectDefineProperty = {\n\tf: f$2\n};\n\nvar createNonEnumerableProperty = descriptors ? function (object, key, value) {\n return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\nvar setGlobal = function (key, value) {\n try {\n createNonEnumerableProperty(global$1, key, value);\n } catch (error) {\n global$1[key] = value;\n } return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store$1 = global$1[SHARED] || setGlobal(SHARED, {});\n\nvar sharedStore = store$1;\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof sharedStore.inspectSource != 'function') {\n sharedStore.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nvar inspectSource = sharedStore.inspectSource;\n\nvar WeakMap$1 = global$1.WeakMap;\n\nvar nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));\n\nvar shared = createCommonjsModule(function (module) {\n(module.exports = function (key, value) {\n return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n});\n\nvar id = 0;\nvar postfix = Math.random();\n\nvar uid = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\nvar keys$2 = shared('keys');\n\nvar sharedKey = function (key) {\n return keys$2[key] || (keys$2[key] = uid(key));\n};\n\nvar hiddenKeys$1 = {};\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global$1.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (nativeWeakMap) {\n var store = sharedStore.state || (sharedStore.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys$1[STATE] = true;\n set = function (it, metadata) {\n if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return has$1(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return has$1(it, STATE);\n };\n}\n\nvar internalState = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\nvar redefine = createCommonjsModule(function (module) {\nvar getInternalState = internalState.get;\nvar enforceInternalState = internalState.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has$1(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global$1) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n});\n\nvar path = global$1;\n\nvar aFunction$1 = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nvar getBuiltIn = function (namespace, method) {\n return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace])\n : path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nvar toInteger = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min$2 = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength = function (argument) {\n return argument > 0 ? min$2(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod$3 = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nvar arrayIncludes = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod$3(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod$3(false)\n};\n\nvar indexOf = arrayIncludes.indexOf;\n\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has$1(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nvar f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return objectKeysInternal(O, hiddenKeys);\n};\n\nvar objectGetOwnPropertyNames = {\n\tf: f$1\n};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nvar f = Object.getOwnPropertySymbols;\n\nvar objectGetOwnPropertySymbols = {\n\tf: f\n};\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = objectGetOwnPropertyNames.f(anObject(it));\n var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\nvar copyConstructorProperties = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = objectDefineProperty.f;\n var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nvar isForced_1 = isForced;\n\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\n\n\n\n\n\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nvar _export = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global$1;\n } else if (STATIC) {\n target = global$1[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global$1[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor$1(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n_export({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n\nvar aPossiblePrototype = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n/* eslint-disable no-proto -- safe */\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n// makes subclassing work correct for wrapped built-ins\nvar inheritIfRequired = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n objectSetPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) objectSetPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys = Object.keys || function keys(O) {\n return objectKeysInternal(O, enumBugKeys);\n};\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nvar objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\nvar html = getBuiltIn('document', 'documentElement');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO$1 = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys$1[IE_PROTO$1] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO$1] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\n// a string of all valid unicode whitespaces\nvar whitespaces = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod$2 = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nvar stringTrim = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod$2(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod$2(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod$2(3)\n};\n\nvar getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;\nvar getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\nvar defineProperty$3 = objectDefineProperty.f;\nvar trim = stringTrim.trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global$1[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys$1 = descriptors ? getOwnPropertyNames$1(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys$1.length > j; j++) {\n if (has$1(NativeNumber, key = keys$1[j]) && !has$1(NumberWrapper, key)) {\n defineProperty$3(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global$1, NUMBER, NumberWrapper);\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nvar SEMVER_SPEC_VERSION = '2.0.0';\nvar MAX_LENGTH$2 = 256;\nvar MAX_SAFE_INTEGER$2 = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */\n9007199254740991; // Max safe segment length for coercion.\n\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\nvar constants = {\n SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,\n MAX_LENGTH: MAX_LENGTH$2,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2,\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH\n};\n\nvar engineIsNode = classofRaw(global$1.process) == 'process';\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\n\nvar process$1 = global$1.process;\nvar versions = process$1 && process$1.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (engineUserAgent) {\n match = engineUserAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = engineUserAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nvar engineV8Version = version && +version;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar useSymbolAsUid = nativeSymbol\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol$1 = global$1.Symbol;\nvar createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;\n\nvar wellKnownSymbol = function (name) {\n if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (nativeSymbol && has$1(Symbol$1, name)) {\n WellKnownSymbolsStore[name] = Symbol$1[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n\nvar MATCH$1 = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nvar isRegexp = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');\n};\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nvar regexpFlags = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nvar UNSUPPORTED_Y$3 = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nvar BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nvar regexpStickyHelpers = {\n\tUNSUPPORTED_Y: UNSUPPORTED_Y$3,\n\tBROKEN_CARET: BROKEN_CARET\n};\n\nvar SPECIES$4 = wellKnownSymbol('species');\n\nvar setSpecies = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = objectDefineProperty.f;\n\n if (descriptors && Constructor && !Constructor[SPECIES$4]) {\n defineProperty(Constructor, SPECIES$4, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\nvar defineProperty$2 = objectDefineProperty.f;\nvar getOwnPropertyNames = objectGetOwnPropertyNames.f;\n\n\n\n\n\nvar enforceInternalState = internalState.enforce;\n\n\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global$1.RegExp;\nvar RegExpPrototype$1 = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED$1) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegexp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = regexpFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y$2) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype$1,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y$2 && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty$2(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype$1.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype$1;\n redefine(global$1, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y$1 && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nvar regexpExec = patchedExec;\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {\n exec: regexpExec\n});\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray || function isArray(arg) {\n return classofRaw(arg) == 'Array';\n};\n\nvar createProperty = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\nvar SPECIES$3 = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES$3];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar SPECIES$2 = wellKnownSymbol('species');\n\nvar arrayMethodHasSpeciesSupport = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return engineV8Version >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES$2] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n_export({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar debug = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? function () {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_console = console).error.apply(_console, ['SEMVER'].concat(args));\n} : function () {};\nvar debug_1 = debug;\n\nvar re_1 = createCommonjsModule(function (module, exports) {\n var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH;\n exports = module.exports = {}; // The actual regexps go on exports.re\n\n var re = exports.re = [];\n var src = exports.src = [];\n var t = exports.t = {};\n var R = 0;\n\n var createToken = function createToken(name, value, isGlobal) {\n var index = R++;\n debug_1(index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n }; // The following Regular Expressions can be used for tokenizing,\n // validating, and parsing SemVer version strings.\n // ## Numeric Identifier\n // A single `0`, or a non-zero digit followed by zero or more digits.\n\n\n createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier\n // Zero or more digits, followed by a letter or hyphen, and then zero or\n // more letters, digits, or hyphens.\n\n createToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version\n // Three dot-separated numeric identifiers.\n\n createToken('MAINVERSION', \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\"));\n createToken('MAINVERSIONLOOSE', \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\")); // ## Pre-release Version Identifier\n // A numeric identifier, or a non-numeric identifier.\n\n createToken('PRERELEASEIDENTIFIER', \"(?:\".concat(src[t.NUMERICIDENTIFIER], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\"));\n createToken('PRERELEASEIDENTIFIERLOOSE', \"(?:\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\")); // ## Pre-release Version\n // Hyphen, followed by one or more dot-separated pre-release version\n // identifiers.\n\n createToken('PRERELEASE', \"(?:-(\".concat(src[t.PRERELEASEIDENTIFIER], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIER], \")*))\"));\n createToken('PRERELEASELOOSE', \"(?:-?(\".concat(src[t.PRERELEASEIDENTIFIERLOOSE], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIERLOOSE], \")*))\")); // ## Build Metadata Identifier\n // Any combination of digits, letters, or hyphens.\n\n createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata\n // Plus sign, followed by one or more period-separated build metadata\n // identifiers.\n\n createToken('BUILD', \"(?:\\\\+(\".concat(src[t.BUILDIDENTIFIER], \"(?:\\\\.\").concat(src[t.BUILDIDENTIFIER], \")*))\")); // ## Full Version String\n // A main version, followed optionally by a pre-release version and\n // build metadata.\n // Note that the only major, minor, patch, and pre-release sections of\n // the version string are capturing groups. The build metadata is not a\n // capturing group, because it should not ever be used in version\n // comparison.\n\n createToken('FULLPLAIN', \"v?\".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('FULL', \"^\".concat(src[t.FULLPLAIN], \"$\")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n // common in the npm registry.\n\n createToken('LOOSEPLAIN', \"[v=\\\\s]*\".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('LOOSE', \"^\".concat(src[t.LOOSEPLAIN], \"$\"));\n createToken('GTLT', '((?:<|>)?=?)'); // Something like \"2.*\" or \"1.2.x\".\n // Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n // Only the first item is strictly required.\n\n createToken('XRANGEIDENTIFIERLOOSE', \"\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|x|X|\\\\*\"));\n createToken('XRANGEIDENTIFIER', \"\".concat(src[t.NUMERICIDENTIFIER], \"|x|X|\\\\*\"));\n createToken('XRANGEPLAIN', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\".concat(src[t.PRERELEASE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGEPLAINLOOSE', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\".concat(src[t.PRERELEASELOOSE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('XRANGELOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Coercion.\n // Extract anything that could conceivably be a part of a valid semver\n\n createToken('COERCE', \"\".concat('(^|[^\\\\d])' + '(\\\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, \"})\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:$|[^\\\\d])\");\n createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges.\n // Meaning is \"reasonably at or greater than\"\n\n createToken('LONETILDE', '(?:~>?)');\n createToken('TILDETRIM', \"(\\\\s*)\".concat(src[t.LONETILDE], \"\\\\s+\"), true);\n exports.tildeTrimReplace = '$1~';\n createToken('TILDE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('TILDELOOSE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Caret ranges.\n // Meaning is \"at least and backwards compatible with\"\n\n createToken('LONECARET', '(?:\\\\^)');\n createToken('CARETTRIM', \"(\\\\s*)\".concat(src[t.LONECARET], \"\\\\s+\"), true);\n exports.caretTrimReplace = '$1^';\n createToken('CARET', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('CARETLOOSE', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\n\n createToken('COMPARATORLOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \")$|^$\"));\n createToken('COMPARATOR', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.FULLPLAIN], \")$|^$\")); // An expression to strip any whitespace between the gtlt and the thing\n // it modifies, so that `> 1.2.3` ==> `>1.2.3`\n\n createToken('COMPARATORTRIM', \"(\\\\s*)\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \"|\").concat(src[t.XRANGEPLAIN], \")\"), true);\n exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4`\n // Note that these all use the loose form, because they'll be\n // checked against either the strict or loose comparator form\n // later.\n\n createToken('HYPHENRANGE', \"^\\\\s*(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s*$\");\n createToken('HYPHENRANGELOOSE', \"^\\\\s*(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s*$\"); // Star ranges basically just allow anything at all.\n\n createToken('STAR', '(<|>)?=?\\\\s*\\\\*'); // >=0.0.0 is like a star\n\n createToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$');\n createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$');\n});\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n\n\n\n\n\n\nvar SPECIES$1 = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES$1] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod$1 = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nvar stringMultibyte = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod$1(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod$1(true)\n};\n\nvar charAt$1 = stringMultibyte.charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nvar advanceStringIndex = function (S, index, unicode) {\n return index + (unicode ? charAt$1(S, index).length : 1);\n};\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nvar regexpExecAbstract = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classofRaw(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n// @@match logic\nfixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regexpExecAbstract(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regexpExecAbstract(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nvar stringTrimForced = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n\nvar $trim = stringTrim.trim;\n\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n_export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n\nvar aFunction = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = indexedObject(O);\n var boundFunction = functionBindContext(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nvar arrayIteration = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n\nvar $map = arrayIteration.map;\n\n\nvar HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nvar speciesConstructor = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\nvar UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegexp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n\nvar arrayMethodIsStrict = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = indexedObject != Object;\nvar STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n_export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n\nvar $filter = arrayIteration.filter;\n\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nvar opts = ['includePrerelease', 'loose', 'rtl'];\n\nvar parseOptions = function parseOptions(options) {\n return !options ? {} : _typeof(options) !== 'object' ? {\n loose: true\n } : opts.filter(function (k) {\n return options[k];\n }).reduce(function (options, k) {\n options[k] = true;\n return options;\n }, {});\n};\n\nvar parseOptions_1 = parseOptions;\n\nvar numeric = /^[0-9]+$/;\n\nvar compareIdentifiers$1 = function compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\n\nvar rcompareIdentifiers = function rcompareIdentifiers(a, b) {\n return compareIdentifiers$1(b, a);\n};\n\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers: rcompareIdentifiers\n};\n\nvar MAX_LENGTH$1 = constants.MAX_LENGTH,\n MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER;\nvar re$1 = re_1.re,\n t$1 = re_1.t;\nvar compareIdentifiers = identifiers.compareIdentifiers;\n\nvar SemVer = /*#__PURE__*/function () {\n function SemVer(version, options) {\n _classCallCheck(this, SemVer);\n\n options = parseOptions_1(options);\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n if (version.length > MAX_LENGTH$1) {\n throw new TypeError(\"version is longer than \".concat(MAX_LENGTH$1, \" characters\"));\n }\n\n debug_1('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n\n this.includePrerelease = !!options.includePrerelease;\n var m = version.trim().match(options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]);\n\n if (!m) {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n this.raw = version; // these are actually numbers\n\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version');\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version');\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version');\n } // numberify any prerelease numeric ids\n\n\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n\n return id;\n });\n }\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n\n _createClass(SemVer, [{\n key: \"format\",\n value: function format() {\n this.version = \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n\n if (this.prerelease.length) {\n this.version += \"-\".concat(this.prerelease.join('.'));\n }\n\n return this.version;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.version;\n }\n }, {\n key: \"compare\",\n value: function compare(other) {\n debug_1('SemVer.compare', this.version, this.options, other);\n\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0;\n }\n\n other = new SemVer(other, this.options);\n }\n\n if (other.version === this.version) {\n return 0;\n }\n\n return this.compareMain(other) || this.comparePre(other);\n }\n }, {\n key: \"compareMain\",\n value: function compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n }, {\n key: \"comparePre\",\n value: function comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n } // NOT having a prerelease is > having one\n\n\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n\n var i = 0;\n\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n }, {\n key: \"compareBuild\",\n value: function compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n var i = 0;\n\n do {\n var a = this.build[i];\n var b = other.build[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n } // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n\n }, {\n key: \"inc\",\n value: function inc(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier);\n }\n\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0];\n } else {\n var i = this.prerelease.length;\n\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0);\n }\n }\n\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0];\n }\n } else {\n this.prerelease = [identifier, 0];\n }\n }\n\n break;\n\n default:\n throw new Error(\"invalid increment argument: \".concat(release));\n }\n\n this.format();\n this.raw = this.version;\n return this;\n }\n }]);\n\n return SemVer;\n}();\n\nvar semver = SemVer;\n\nvar MAX_LENGTH = constants.MAX_LENGTH;\nvar re = re_1.re,\n t = re_1.t;\n\nvar parse = function parse(version, options) {\n options = parseOptions_1(options);\n\n if (version instanceof semver) {\n return version;\n }\n\n if (typeof version !== 'string') {\n return null;\n }\n\n if (version.length > MAX_LENGTH) {\n return null;\n }\n\n var r = options.loose ? re[t.LOOSE] : re[t.FULL];\n\n if (!r.test(version)) {\n return null;\n }\n\n try {\n return new semver(version, options);\n } catch (er) {\n return null;\n }\n};\n\nvar parse_1 = parse;\n\nvar valid = function valid(version, options) {\n var v = parse_1(version, options);\n return v ? v.version : null;\n};\n\nvar valid_1 = valid;\n\nvar major = function major(a, loose) {\n return new semver(a, loose).major;\n};\n\nvar major_1 = major;\n\nvar packageJson$1 = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus =\n/** @class */\nfunction () {\n function ProxyBus(bus) {\n if (typeof bus.getVersion !== 'function' || !valid_1(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if (major_1(bus.getVersion()) !== major_1(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n ProxyBus.prototype.getVersion = function () {\n return packageJson$1.version;\n };\n\n ProxyBus.prototype.subscribe = function (name, handler) {\n this.bus.subscribe(name, handler);\n };\n\n ProxyBus.prototype.unsubscribe = function (name, handler) {\n this.bus.unsubscribe(name, handler);\n };\n\n ProxyBus.prototype.emit = function (name, event) {\n this.bus.emit(name, event);\n };\n\n return ProxyBus;\n}();\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype$1 = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype$1[UNSCOPABLES] == undefined) {\n objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, {\n configurable: true,\n value: objectCreate(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables = function (key) {\n ArrayPrototype$1[UNSCOPABLES][key] = true;\n};\n\nvar iterators = {};\n\nvar correctPrototypeGetter = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has$1(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\nvar ITERATOR$5 = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS$1 = false;\n\nvar returnThis$2 = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;\n else {\n PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype$2[ITERATOR$5].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!has$1(IteratorPrototype$2, ITERATOR$5)) {\n createNonEnumerableProperty(IteratorPrototype$2, ITERATOR$5, returnThis$2);\n}\n\nvar iteratorsCore = {\n IteratorPrototype: IteratorPrototype$2,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1\n};\n\nvar defineProperty$1 = objectDefineProperty.f;\n\n\n\nvar TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');\n\nvar setToStringTag = function (it, TAG, STATIC) {\n if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$3)) {\n defineProperty$1(it, TO_STRING_TAG$3, { configurable: true, value: TAG });\n }\n};\n\nvar IteratorPrototype$1 = iteratorsCore.IteratorPrototype;\n\n\n\n\n\nvar returnThis$1 = function () { return this; };\n\nvar createIteratorConstructor = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false);\n iterators[TO_STRING_TAG] = returnThis$1;\n return IteratorConstructor;\n};\n\nvar IteratorPrototype = iteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR$4 = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nvar defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR$4]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (objectSetPrototypeOf) {\n objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if (IterablePrototype[ITERATOR$4] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);\n }\n iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState$2 = internalState.set;\nvar getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nvar es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState$2(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState$1(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\niterators.Arguments = iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\nvar freezing = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\nvar internalMetadata = createCommonjsModule(function (module) {\nvar defineProperty = objectDefineProperty.f;\n\n\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (freezing && meta.REQUIRED && isExtensible(it) && !has$1(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys$1[METADATA] = true;\n});\n\nvar ITERATOR$3 = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nvar isArrayIteratorMethod = function (it) {\n return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$3] === it);\n};\n\nvar TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG$2] = 'z';\n\nvar toStringTagSupport = String(test) === '[object z]';\n\nvar TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nvar classof = toStringTagSupport ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\nvar ITERATOR$2 = wellKnownSymbol('iterator');\n\nvar getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR$2]\n || it['@@iterator']\n || iterators[classof(it)];\n};\n\nvar iteratorClose = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\nvar anInstance = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\nvar ITERATOR$1 = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR$1] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nvar checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR$1] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\nvar collection = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global$1[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced_1(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n internalMetadata.REQUIRED = true;\n } else if (isForced_1(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n _export({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n\nvar redefineAll = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\nvar defineProperty = objectDefineProperty.f;\n\n\n\n\n\n\n\n\nvar fastKey = internalMetadata.fastKey;\n\n\nvar setInternalState$1 = internalState.set;\nvar internalStateGetterFor = internalState.getterFor;\n\nvar collectionStrong = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState$1(that, {\n type: CONSTRUCTOR_NAME,\n index: objectCreate(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!descriptors) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (descriptors) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (descriptors) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (descriptors) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (descriptors) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState$1(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nvar objectToString = toStringTagSupport ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!toStringTagSupport) {\n redefine(Object.prototype, 'toString', objectToString, { unsafe: true });\n}\n\nvar charAt = stringMultibyte.charAt;\n\n\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = internalState.set;\nvar getInternalState = internalState.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nvar domIterables = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = es_array_iterator.values;\n\nfor (var COLLECTION_NAME$1 in domIterables) {\n var Collection$1 = global$1[COLLECTION_NAME$1];\n var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;\n if (CollectionPrototype$1) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype$1, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype$1[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype$1[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG, COLLECTION_NAME$1);\n }\n if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];\n }\n }\n }\n}\n\nvar $forEach = arrayIteration.forEach;\n\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nvar arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n\nfor (var COLLECTION_NAME in domIterables) {\n var Collection = global$1[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);\n } catch (error) {\n CollectionPrototype.forEach = arrayForEach;\n }\n}\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus =\n/** @class */\nfunction () {\n function SimpleBus() {\n this.handlers = new Map();\n }\n\n SimpleBus.prototype.getVersion = function () {\n return packageJson.version;\n };\n\n SimpleBus.prototype.subscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n };\n\n SimpleBus.prototype.unsubscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n };\n\n SimpleBus.prototype.emit = function (name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n };\n\n return SimpleBus;\n}();\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\r\n * Register an event listener\r\n *\r\n * @param name name of the event\r\n * @param handler callback invoked for every matching event emitted on the bus\r\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\r\n * Unregister a previously registered event listener\r\n *\r\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\r\n *\r\n * @param name name of the event\r\n * @param handler callback passed to `subscribed`\r\n */\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\r\n * Emit an event\r\n *\r\n * @param name name of the event\r\n * @param event event payload\r\n */\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n\nexport { emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=60)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)(\"wks\"),r=n(30),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&\"function\"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){\"use strict\";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(9);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)(\"keys\"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g=\"Number\"==o(n(44)(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;l<c;l++)if((s=a.charCodeAt(l))<48||s>r)return NaN;return parseInt(a,i)}}return+e};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):\"Number\"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,\"Number\",h)}},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,preferredOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return O(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return O(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit(\"select\",r,this.id),this.$emit(\"input\",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i=\"object\"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit(\"input\",r,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.preferredOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--group\",\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?[\"multiselect__option--group\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]:\"multiselect__option--disabled\"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){\"use strict\";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){\"use strict\";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:\"vue-multiselect\",mixins:[r.a,o.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"100%\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},function(t,e,n){\"use strict\";var i=n(2);t.exports=function(){var t=i(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(21)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(40).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(79),r=n(25),o=n(18),s=n(29),u=n(12),a=n(41),l=Object.getOwnPropertyDescriptor;e.f=n(4)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(12),r=n(18),o=n(37)(!1),s=n(27)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var i=n(46),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(5),o=n(43);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var i=n(10),r=n(0),o=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(24)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(t,e,n){var i=n(2),r=n(14),o=n(1)(\"species\");t.exports=function(t,e){var n,s=i(t).constructor;return void 0===s||void 0==(n=i(s)[o])?e:r(n)}},function(t,e,n){var i=n(3),r=n(16),o=n(7),s=n(84),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e,n){var i,r,o,s=n(11),u=n(68),a=n(40),l=n(21),c=n(0),f=c.process,p=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,v=c.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},i(g),g},h=function(t){delete y[t]},\"process\"==n(9)(f)?i=function(t){f.nextTick(s(m,t,1))}:v&&v.now?i=function(t){v.now(s(m,t,1))}:d?(r=new d,o=r.port2,r.port1.onmessage=b,i=s(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(i=function(t){c.postMessage(t+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):i=\"onreadystatechange\"in l(\"script\")?function(t){a.appendChild(l(\"script\")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)(\"find\")},function(t,e,n){\"use strict\";var i,r,o,s,u=n(24),a=n(0),l=n(11),c=n(38),f=n(3),p=n(5),h=n(14),d=n(61),v=n(66),g=n(50),y=n(52).set,m=n(75)(),b=n(43),_=n(80),x=n(86),w=n(48),S=a.TypeError,O=a.process,L=O&&O.versions,k=L&&L.v8||\"\",P=a.Promise,T=\"process\"==c(O),V=function(){},E=r=b.f,A=!!function(){try{var t=P.resolve(1),e=(t.constructor={})[n(1)(\"species\")]=function(t){t(V,V)};return(T||\"function\"==typeof PromiseRejectionEvent)&&t.then(V)instanceof e&&0!==k.indexOf(\"6.6\")&&-1===x.indexOf(\"Chrome/66\")}catch(t){}}(),C=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},D=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var i=t._v,r=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,u=r?e.ok:e.fail,a=e.resolve,l=e.reject,c=e.domain;try{u?(r||(2==t._h&&$(t),t._h=1),!0===u?n=i:(c&&c.enter(),n=u(i),c&&(c.exit(),s=!0)),n===e.promise?l(S(\"Promise-chain cycle\")):(o=C(n))?o.call(n,a,l):a(n)):l(i)}catch(t){c&&!s&&c.exit(),l(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(a,function(){var e,n,i,r=t._v,o=N(t);if(o&&(e=_(function(){T?O.emit(\"unhandledRejection\",r,t):(n=a.onunhandledrejection)?n({promise:t,reason:r}):(i=a.console)&&i.error&&i.error(\"Unhandled promise rejection\",r)}),t._h=T||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},$=function(t){y.call(a,function(){var e;T?O.emit(\"rejectionHandled\",t):(e=a.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),D(e,!0))},M=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S(\"Promise can't be resolved itself\");(e=C(t))?m(function(){var i={_w:n,_d:!1};try{e.call(t,l(M,i,1),l(F,i,1))}catch(t){F.call(i,t)}}):(n._v=t,n._s=1,D(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};A||(P=function(t){d(this,P,\"Promise\",\"_h\"),h(t),i.call(this);try{t(l(M,this,1),l(F,this,1))}catch(t){F.call(this,t)}},i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=n(81)(P.prototype,{then:function(t,e){var n=E(g(this,P));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(M,t,1),this.reject=l(F,t,1)},b.f=E=function(t){return t===P||t===s?new o(t):r(t)}),f(f.G+f.W+f.F*!A,{Promise:P}),n(26)(P,\"Promise\"),n(83)(\"Promise\"),s=n(10).Promise,f(f.S+f.F*!A,\"Promise\",{reject:function(t){var e=E(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(u||!A),\"Promise\",{resolve:function(t){return w(u&&this===s?P:this,t)}}),f(f.S+f.F*!(A&&n(73)(function(t){P.all(t).catch(V)})),\"Promise\",{all:function(t){var e=this,n=E(e),i=n.resolve,r=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var u=o++,a=!1;n.push(void 0),s++,e.resolve(t).then(function(t){a||(a=!0,n[u]=t,--s||i(n))},r)}),--s||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=E(e),i=n.reject,r=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){\"use strict\";var i=n(3),r=n(10),o=n(0),s=n(50),u=n(48);i(i.P+i.R,\"Promise\",{finally:function(t){var e=s(this,r.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";function i(t){n(99)}var r=n(35),o=n(101),s=n(100),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){\"use strict\";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}e.a=i},function(t,e,n){\"use strict\";function i(t){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":i(t)})(t)}e.a=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(34),r=(n.n(i),n(55)),o=(n.n(r),n(56)),s=(n.n(o),n(57)),u=n(32),a=n(33);n.d(e,\"Multiselect\",function(){return s.a}),n.d(e,\"multiselectMixin\",function(){return u.a}),n.d(e,\"pointerMixin\",function(){return a.a}),e.default=s.a},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var i=n(14),r=n(28),o=n(23),s=n(19);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(5),r=n(42),o=n(1)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(63);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){\"use strict\";var i=n(8),r=n(6),o=n(7),s=n(16),u=n(1);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e,n){var i=n(11),r=n(70),o=n(69),s=n(2),u=n(19),a=n(87),l={},c={},e=t.exports=function(t,e,n,f,p){var h,d,v,g,y=p?function(){return t}:a(t),m=i(n,f,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(o(y)){for(h=u(t.length);h>b;b++)if((g=e?m(s(d=t[b])[0],d[1]):m(t[b]))===l||g===c)return g}else for(v=y.call(t);!(d=v.next()).done;)if((g=r(v,m,d.value,e))===l||g===c)return g};e.BREAK=l,e.RETURN=c},function(t,e,n){var i=n(5),r=n(82).set;t.exports=function(t,e,n){var o,s=e.constructor;return s!==n&&\"function\"==typeof s&&(o=s.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var i=n(15),r=n(1)(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){\"use strict\";var i=n(44),r=n(25),o=n(26),s={};n(8)(s,n(1)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){\"use strict\";var i=n(24),r=n(3),o=n(6),s=n(8),u=n(15),a=n(71),l=n(26),c=n(78),f=n(1)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,y){a(n,e,d);var m,b,_,x=function(t){if(!p&&t in L)return L[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",S=\"values\"==v,O=!1,L=t.prototype,k=L[f]||L[\"@@iterator\"]||v&&L[v],P=k||x(v),T=v?S?x(\"entries\"):P:void 0,V=\"Array\"==e?L.entries||k:k;if(V&&(_=c(V.call(new t)))!==Object.prototype&&_.next&&(l(_,w,!0),i||\"function\"==typeof _[f]||s(_,f,h)),S&&k&&\"values\"!==k.name&&(O=!0,P=function(){return k.call(this)}),i&&!y||!p&&!O&&L[f]||s(L,f,P),u[e]=P,u[w]=h,v)if(m={values:S?P:x(\"values\"),keys:g?P:x(\"keys\"),entries:T},y)for(b in m)b in L||o(L,b,m[b]);else r(r.P+r.F*(p||O),e,m);return m}},function(t,e,n){var i=n(1)(\"iterator\"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(0),r=n(52).set,o=i.MutationObserver||i.WebKitMutationObserver,s=i.process,u=i.Promise,a=\"process\"==n(9)(s);t.exports=function(){var t,e,n,l=function(){var i,r;for(a&&(i=s.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(a)n=function(){s.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(u&&u.resolve){var c=u.resolve(void 0);n=function(){c.then(l)}}else n=function(){r.call(i,l)};else{var f=!0,p=document.createTextNode(\"\");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i=n(13),r=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(46),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(12),r=n(28),o=n(27)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var i=n(6);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,i){try{i=n(11)(Function.call,n(45).f(Object.prototype,\"__proto__\").set,2),i(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){\"use strict\";var i=n(0),r=n(13),o=n(4),s=n(1)(\"species\");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(53),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(0),r=i.navigator;t.exports=r&&r.userAgent||\"\"},function(t,e,n){var i=n(38),r=n(1)(\"iterator\"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t[\"@@iterator\"]||o[i(t)]}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(2);i(i.P+i.F*!n(17)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(37)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(17)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(3);i(i.S,\"Array\",{isArray:n(42)})},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(1);i(i.P+i.F*!n(17)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(62);i(i.P+i.F*!n(17)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+\"\"!=\"Invalid Date\"&&n(6)(i,\"toString\",function(){var t=o.call(this);return t===t?r.call(this):\"Invalid Date\"})},function(t,e,n){n(4)&&\"g\"!=/./g.flags&&n(13).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(39)})},function(t,e,n){n(65)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(94);var i=n(2),r=n(39),o=n(4),s=/./.toString,u=function(t){n(6)(RegExp.prototype,\"toString\",t,!0)};n(7)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var t=i(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):\"toString\"!=s.name&&u(function(){return s.call(this)})},function(t,e,n){\"use strict\";n(51)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var i=n(34),r=n(47),o=n(6),s=n(0),u=n(8),a=n(15),l=n(1),c=l(\"iterator\"),f=l(\"toStringTag\"),p=a.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=r(h),v=0;v<d.length;v++){var g,y=d[v],m=h[y],b=s[y],_=b&&b.prototype;if(_&&(_[c]||u(_,c,p),_[f]||u(_,f,y),a[y]=p,m))for(g in i)_[g]||o(_,g,i[g],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[t._t(\"selection\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e,i){return[t._t(\"tag\",[n(\"span\",{key:i,staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keypress:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),t.searchable?n(\"input\",{ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"nope\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{staticClass:\"multiselect__placeholder\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},attrs:{tabindex:\"-1\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")],{search:t.search})],2)]),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:\"showNoOptions && (options.length === 0 && !search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noOptions\",[t._v(\"List is empty.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","import { EventBus } from \"./EventBus\"\nimport { ProxyBus } from \"./ProxyBus\"\nimport { SimpleBus } from \"./SimpleBus\"\n\ndeclare global {\n interface Window {\n OC: any\n _nc_event_bus: any\n }\n}\n\nfunction getBus(): EventBus {\n if ((typeof window.OC !== 'undefined') && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!')\n window._nc_event_bus = window.OC._eventBus\n }\n\n // Either use an existing event bus instance or create one\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus)\n } else {\n return window._nc_event_bus = new SimpleBus()\n }\n}\n\nconst bus = getBus()\n\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nexport function subscribe(name: string, handler: (string) => void): void {\n bus.subscribe(name, handler)\n}\n\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nexport function unsubscribe(name: string, handler: (string) => void): void {\n bus.unsubscribe(name, handler)\n}\n\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nexport function emit(name: string, event: object): void {\n bus.emit(name, event)\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","!function(t,A){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=A():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],A):\"object\"==typeof exports?exports[\"Components/Avatar\"]=A():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=A())}(window,(function(){return function(t){var A={};function n(e){if(A[e])return A[e].exports;var i=A[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=A,n.d=function(t,A,e){n.o(t,A)||Object.defineProperty(t,A,{enumerable:!0,get:e})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,A){if(1&A&&(t=n(t)),8&A)return t;if(4&A&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&A&&\"string\"!=typeof t)for(var i in t)n.d(e,i,function(A){return t[A]}.bind(null,i));return e},n.n=function(t){var A=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(A,\"a\",A),A},n.o=function(t,A){return Object.prototype.hasOwnProperty.call(t,A)},n.p=\"/dist/\",n(n.s=80)}([function(t,A,n){\"use strict\";function e(t,A){return function(t){if(Array.isArray(t))return t}(t)||function(t,A){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],e=!0,i=!1,o=void 0;try{for(var a,r=t[Symbol.iterator]();!(e=(a=r.next()).done)&&(n.push(a.value),!A||n.length!==A);e=!0);}catch(t){i=!0,o=t}finally{try{e||null==r.return||r.return()}finally{if(i)throw o}}return n}(t,A)||function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t,A)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}t.exports=function(t){var A=e(t,4),n=A[1],i=A[3];if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),r=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,A,n){\"use strict\";t.exports=function(t){var A=[];return A.toString=function(){return this.map((function(A){var n=t(A);return A[2]?\"@media \".concat(A[2],\" {\").concat(n,\"}\"):n})).join(\"\")},A.i=function(t,n,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(e)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);e&&i[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),A.push(s))}},A}},function(t,A,n){\"use strict\";var e,i=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},o=function(){var t={};return function(A){if(void 0===t[A]){var n=document.querySelector(A);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[A]=n}return t[A]}}(),a=[];function r(t){for(var A=-1,n=0;n<a.length;n++)if(a[n].identifier===t){A=n;break}return A}function s(t,A){for(var n={},e=[],i=0;i<t.length;i++){var o=t[i],s=A.base?o[0]+A.base:o[0],c=n[s]||0,l=\"\".concat(s,\" \").concat(c);n[s]=c+1;var d=r(l),u={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:l,updater:m(u,A),references:1}),e.push(l)}return e}function c(t){var A=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var i=n.nc;i&&(e.nonce=i)}if(Object.keys(e).forEach((function(t){A.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(A);else{var a=o(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(A)}return A}var l,d=(l=[],function(t,A){return l[t]=A,l.filter(Boolean).join(\"\\n\")});function u(t,A,n,e){var i=n?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(A,i);else{var o=document.createTextNode(i),a=t.childNodes;a[A]&&t.removeChild(a[A]),a.length?t.insertBefore(o,a[A]):t.appendChild(o)}}function g(t,A,n){var e=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var p=null,f=0;function m(t,A){var n,e,i;if(A.singleton){var o=f++;n=p||(p=c(A)),e=u.bind(null,n,o,!1),i=u.bind(null,n,o,!0)}else n=c(A),e=g.bind(null,n,A),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return e(t),function(A){if(A){if(A.css===t.css&&A.media===t.media&&A.sourceMap===t.sourceMap)return;e(t=A)}else i()}}t.exports=function(t,A){(A=A||{}).singleton||\"boolean\"==typeof A.singleton||(A.singleton=i());var n=s(t=t||[],A);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<n.length;e++){var i=r(n[e]);a[i].references--}for(var o=s(t,A),c=0;c<n.length;c++){var l=r(n[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}n=o}}}},function(t,A,n){\"use strict\";function e(t,A,n,e,i,o,a,r){var s,c=\"function\"==typeof t?t.options:t;if(A&&(c.render=A,c.staticRenderFns=n,c._compiled=!0),e&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=r?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,A){return s.call(A),l(t,A)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}n.d(A,\"a\",(function(){return e}))},function(t,A,n){\"use strict\";t.exports=function(t,A){return A||(A={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),A.hash&&(t+=A.hash),/[\"'() \\t\\n]/.test(t)||A.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,A){t.exports=require(\"vue\")},function(t,A){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,A){t.exports=require(\"v-tooltip\")},function(t,A,n){\"use strict\";A.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,A,n){\"use strict\";A.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},,function(t,A){t.exports=require(\"@nextcloud/router\")},function(t,A){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A,n){\"use strict\";n.r(A);var e=n(7),i=n(2),o=n.n(i),a=n(23),r={insert:\"head\",singleton:!1};o()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1;A.default=e.VTooltip},,function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},,function(t,A,n){\"use strict\";var e={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(A){A?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),a=n(19),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(3)),c=n(20),l=n.n(c),d=Object(s.a)(e,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),A(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(d);A.a=d.exports},function(t,A){t.exports=require(\"@nextcloud/event-bus\")},function(t,A){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.js\")},,,function(t,A){t.exports=require(\"@nextcloud/auth\")},function(t,A){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,A,n){\"use strict\";n.r(A);var e=n(5),i=new(n.n(e).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});A.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,A){t.exports=require(\"@nextcloud/axios\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,A){t.exports=require(\"core-js/modules/web.url.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,A){t.exports=require(\"v-click-outside\")},function(t,A){t.exports=require(\"striptags\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";n.d(A,\"a\",(function(){return e.default})),n.d(A,\"b\",(function(){return i.default})),n.d(A,\"c\",(function(){return o.default})),n.d(A,\"d\",(function(){return a.default})),n.d(A,\"e\",(function(){return g}));var e=n(75),i=n(76),o=n(36),a=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),c=n(13),l=n(82),d=n(34);function u(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var A,n=this;return(A=regeneratorRuntime.mark((function A(){var e,i,o,a,r,u,g,p,f;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(e=Object(l.getCapabilities)(),Object.prototype.hasOwnProperty.call(e,\"user_status\")&&e.user_status.enabled){A.next=3;break}return A.abrupt(\"return\");case 3:if(Object(d.getCurrentUser)()){A.next=5;break}return A.abrupt(\"return\");case 5:return A.prev=5,A.next=8,s.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:i=A.sent,o=i.data,a=o.ocs.data,r=a.status,u=a.message,g=a.icon,n.userStatus.status=r,n.userStatus.message=u||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,A.next=22;break;case 17:if(A.prev=17,A.t0=A.catch(5),404!==A.t0.response.status||0!==(null===(p=A.t0.response.data.ocs)||void 0===p||null===(f=p.data)||void 0===f?void 0:f.length)){A.next=21;break}return A.abrupt(\"return\");case 21:console.error(A.t0);case 22:case\"end\":return A.stop()}}),A,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(e,i){var o=A.apply(t,n);function a(t){u(o,e,i,a,r,\"next\",t)}function r(t){u(o,e,i,a,r,\"throw\",t)}a(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,A){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,A){t.exports=require(\"linkifyjs/string\")},,,,function(t,A){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,A){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,A){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,A,n){\"use strict\";n.r(A),n.d(A,\"USERID_REGEX\",(function(){return v})),n.d(A,\"USERID_REGEX_WITH_SPACE\",(function(){return B}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var e=n(62),i=n.n(e),o=n(48),a=n.n(o),r=n(43),s=n.n(r),c=n(5),l=n.n(c),d=n(13),u={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,A){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:A})}}},g=n(2),p=n.n(g),f=n(44),m={insert:\"head\",singleton:!1},C=(p()(f.a,m),f.a.locals,n(3)),b=Object(C.a)(u,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),B=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");A.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var A=this;return i()(t).split(v).map((function(t){return t.split(B)})).flat().map((function(t){if(!t.startsWith(\"@\"))return a()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+A.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var A=t.replace(/<br>/gim,\"\\n\");return A=(A=(A=A.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),A=s()(A,\"<div>\"),A=s()(A)},genSelectTemplate:function(t){var A=this.userData[t];return A?this.renderComponentHtml(A,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,A){var n=new(l.a.extend(A))({propsData:t}),e=document.createElement(\"div\"),i=document.createElement(\"div\");e.style.display=\"none\",e.appendChild(i),document.body.appendChild(e),n.$mount(i);var o=e.innerHTML;return n.$destroy(),e.remove(),o}}}},,function(t,A){t.exports=require(\"escape-html\")},function(t,A){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,A,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction e(t,A,n){this.r=t,this.g=A,this.b=n}function i(t,A,n){var i=[];i.push(A);for(var o=function(t,A){var n=new Array(3);return n[0]=(A[1].r-A[0].r)/t,n[1]=(A[1].g-A[0].g)/t,n[2]=(A[1].b-A[0].b)/t,n}(t,[A,n]),a=1;a<t;a++){var r=parseInt(A.r+o[0]*a,10),s=parseInt(A.g+o[1]*a,10),c=parseInt(A.b+o[2]*a,10);i.push(new e(r,s,c))}return i}A.a=function(t){t||(t=6);var A=new e(182,70,157),n=new e(221,203,85),o=new e(0,130,201),a=i(t,A,n),r=i(t,n,o),s=i(t,o,A);return a.concat(r).concat(s)}},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o),r=n(4),s=n.n(r),c=n(8),l=n(9),d=n(10),u=n(11),g=a()(i.a),p=s()(c.a),f=s()(l.a),m=s()(d.a),C=s()(u.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+p+\");src:url(\"+p+') format(\"embedded-opentype\"),url('+f+') format(\"woff\"),url('+m+') format(\"truetype\"),url('+C+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=g},function(t,A){},,,,,,,,,function(t,A,n){\"use strict\";n.r(A);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function e(t,A){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t))||A&&t&&\"number\"==typeof t.length){n&&(t=n);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var A=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===A.length||!this.hasNodeOrAnyParentClass(t.target,A)},hasNodeOrAnyParentClass:function(t,A){var n,i=e(A);try{for(i.s();!(n=i.n()).done;){var o,a=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(a))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,A)}}}},function(t,A,n){\"use strict\";n.r(A),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,A,n){\"use strict\";n.r(A);n(6),n(26),n(16),n(17),n(18),n(40);var e={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),a=n(53),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(54)),c={insert:\"head\",singleton:!1},l=(o()(s.a,c),s.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(l.a)(e,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(A){return A.preventDefault(),t.item.action(A)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(A){var n=t.item.model,e=A.target,i=!!e.checked;if(Array.isArray(n)){var o=t._i(n,null);e.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(A){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(A){A.target.composing||t.$set(t.item,\"model\",A.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},u=n(55),g={insert:\"head\",singleton:!1},p=(o()(u.a,g),u.a.locals,n(56)),f=n.n(p),m=Object(l.a)(d,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return A(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof f.a&&f()(m);var C=m.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=C},,function(t,A){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,A,n){\"use strict\";n.r(A);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var e=n(86),i=n(42),o=n(77),a=n(34),r=n(29),s=n(37),c=n.n(s),l=n(13),d=n(21),u=n(84),g=n(45),p=n(28);function f(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}function m(t){return function(){var A=this,n=arguments;return new Promise((function(e,i){var o=t.apply(A,n);function a(t){f(o,e,i,a,r,\"next\",t)}function r(t){f(o,e,i,a,r,\"throw\",t)}a(void 0)}))}}var C=Object(e.getBuilder)(\"nextcloud\").persist().build();function b(t){var A=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof A?Boolean(A):null}function v(t,A){t&&C.setItem(\"user-has-avatar.\"+t,A)}var B={name:\"Avatar\",directives:{tooltip:d.default,ClickOutside:i.directive},components:{Popover:p.a,PopoverMenu:o.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(a.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var A=Object(u.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+A.r+\", \"+A.g+\", \"+A.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var A=this.getUserIdentifier,n=A.indexOf(\" \");\"\"===A?t=\"?\":(t=String.fromCodePoint(A.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(A.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,A,n,e=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,A=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(A),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(e):e}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t.hasMenu){A.next=2;break}return A.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){A.next=5;break}return A.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return A.stop()}}),A)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){var n,e,i;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t.contactsMenuLoading=!0,A.prev=1,n=encodeURIComponent(t.user),A.next=5,c.a.post(Object(l.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:e=A.sent,i=e.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,A.next=13;break;case 10:A.prev=10,A.t0=A.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return A.stop()}}),A,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),A=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,A)}},avatarUrlGenerator:function(t,A){var n,e=\"/avatar/{user}/{size}\";this.isGuest&&(e=\"/avatar/guest/{user}/{size}\");var i=Object(l.generateUrl)(e,{user:t,size:A});return t===(null===(n=Object(a.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var A=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof e)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===e&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){A.avatarUrlLoaded=t,n&&(A.avatarSrcSetLoaded=n),A.isAvatarLoaded=!0,v(A.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),A.avatarUrlLoaded=null,A.avatarSrcSetLoaded=null,A.userDoesNotExist=!0,A.isAvatarLoaded=!1,v(A.user,!1)},n&&(i.srcset=n),i.src=t}}},h=n(2),x=n.n(h),M=n(65),I={insert:\"head\",singleton:!1},w=(x()(M.a,I),M.a.locals,n(3)),y=n(66),E=n.n(y),T=Object(w.a)(B,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(T);var D=T.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=D},function(t,A){t.exports=require(\"md5\")},function(t,A){t.exports=require(\"@nextcloud/capabilities\")},,function(t,A,n){\"use strict\";n.r(A);n(15),n(92),n(25);var e=n(81),i=n.n(e),o=n(64),a=function(t){var A=t.toLowerCase();null===A.match(/^([0-9a-f]{4}-?){8}$/)&&(A=i()(A)),A=A.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,A){for(var n=0,e=[],i=0;i<t.length;i++)e.push(parseInt(t.charAt(i),16)%16);for(var o in e)n+=e[o];return parseInt(parseInt(n,10)%A,10)}(A,18)]};A.default=a},,function(t,A){t.exports=require(\"@nextcloud/browser-storage\")},,,function(t,A){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.match.js\")},,,,,,,,,,,function(t,A){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],r):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=r():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=r())}(window,(function(){return function(t){var r={};function n(o){if(r[o])return r[o].exports;var e=r[o]={i:o,l:!1,exports:{}};return t[o].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=t,n.c=r,n.d=function(t,r,o){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var e in t)n.d(o,e,function(r){return t[r]}.bind(null,e));return o},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p=\"/dist/\",n(n.s=21)}({0:function(t,r,n){\"use strict\";function o(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],o=!0,e=!1,i=void 0;try{for(var a,c=t[Symbol.iterator]();!(o=(a=c.next()).done)&&(n.push(a.value),!r||n.length!==r);o=!0);}catch(t){e=!0,i=t}finally{try{o||null==c.return||c.return()}finally{if(e)throw i}}return n}(t,r)||function(t,r){if(!t)return;if(\"string\"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}(t,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,o=new Array(r);n<r;n++)o[n]=t[n];return o}t.exports=function(t){var r=o(t,4),n=r[1],e=r[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=e.sources.map((function(t){return\"/*# sourceURL=\".concat(e.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([c]).join(\"\\n\")}return[n].join(\"\\n\")}},1:function(t,r,n){\"use strict\";t.exports=function(t){var r=[];return r.toString=function(){return this.map((function(r){var n=t(r);return r[2]?\"@media \".concat(r[2],\" {\").concat(n,\"}\"):n})).join(\"\")},r.i=function(t,n,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var e={};if(o)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(e[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&e[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),r.push(l))}},r}},2:function(t,r,n){\"use strict\";var o,e=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(r){if(void 0===t[r]){var n=document.querySelector(r);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[r]=n}return t[r]}}(),a=[];function c(t){for(var r=-1,n=0;n<a.length;n++)if(a[n].identifier===t){r=n;break}return r}function l(t,r){for(var n={},o=[],e=0;e<t.length;e++){var i=t[e],l=r.base?i[0]+r.base:i[0],p=n[l]||0,d=\"\".concat(l,\" \").concat(p);n[l]=p+1;var s=c(d),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==s?(a[s].references++,a[s].updater(u)):a.push({identifier:d,updater:b(u,r),references:1}),o.push(d)}return o}function p(t){var r=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var e=n.nc;e&&(o.nonce=e)}if(Object.keys(o).forEach((function(t){r.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(r);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(r)}return r}var d,s=(d=[],function(t,r){return d[t]=r,d.filter(Boolean).join(\"\\n\")});function u(t,r,n,o){var e=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=s(r,e);else{var i=document.createTextNode(e),a=t.childNodes;a[r]&&t.removeChild(a[r]),a.length?t.insertBefore(i,a[r]):t.appendChild(i)}}function A(t,r,n){var o=n.css,e=n.media,i=n.sourceMap;if(e?t.setAttribute(\"media\",e):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var f=null,C=0;function b(t,r){var n,o,e;if(r.singleton){var i=C++;n=f||(f=p(r)),o=u.bind(null,n,i,!1),e=u.bind(null,n,i,!0)}else n=p(r),o=A.bind(null,n,r),e=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return o(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;o(t=r)}else e()}}t.exports=function(t,r){(r=r||{}).singleton||\"boolean\"==typeof r.singleton||(r.singleton=e());var n=l(t=t||[],r);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<n.length;o++){var e=c(n[o]);a[e].references--}for(var i=l(t,r),p=0;p<n.length;p++){var d=c(n[p]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}n=i}}}},21:function(t,r,n){\"use strict\";n.r(r);var o=n(7),e=n(2),i=n.n(e),a=n(23),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1;r.default=o.VTooltip},23:function(t,r,n){\"use strict\";var o=n(0),e=n.n(o),i=n(1),a=n.n(i)()(e.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),r.a=a},7:function(t,r){t.exports=require(\"v-tooltip\")}})}));\n//# sourceMappingURL=Tooltip.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-1436bf4a]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-1436bf4a]{padding:8px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc h5[data-v-1436bf4a]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__desc p[data-v-1436bf4a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-1436bf4a]{margin-left:auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AA4EA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,yCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,wCACC,mCAAA,CAGF,yCACC,2BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\th5 {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: inherit;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry__internal .avatar-external[data-v-8239c8d6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-8239c8d6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAuGC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-input{width:100%;margin:10px 0}.sharing-input .multiselect__option span[lookup] .avatardiv{background-image:var(--icon-search-fff);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.sharing-input .multiselect__option span[lookup] .avatardiv div{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AAugBA,eACC,UAAA,CACA,aAAA,CAKE,4DACC,uCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,gEACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-input {\\n\\twidth: 100%;\\n\\tmargin: 10px 0;\\n\\n\\t// properly style the lookup entry\\n\\t.multiselect__option {\\n\\t\\tspan[lookup] {\\n\\t\\t\\t.avatardiv {\\n\\t\\t\\t\\tbackground-image: var(--icon-search-fff);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t\\tdiv {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-c58e421a]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-c58e421a]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-c58e421a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-c58e421a]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AAkGA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry__inherited .avatar-shared[data-v-1c2059ae]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AA8JC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-121ac5e6]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-121ac5e6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em;overflow:hidden}.sharing-entry__desc h5[data-v-121ac5e6]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__desc p[data-v-121ac5e6]{color:var(--color-text-maxcontrast)}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-121ac5e6]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-121ac5e6] .avatar-link-share{background-color:var(--color-primary)}.sharing-entry .sharing-entry__action--public-upload[data-v-121ac5e6]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-121ac5e6]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item[data-v-121ac5e6]{margin-left:auto}.sharing-entry .action-item~.action-item[data-v-121ac5e6],.sharing-entry .action-item~.sharing-entry__loading[data-v-121ac5e6]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-121ac5e6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AA04BA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CAEA,yCACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAED,wCACC,mCAAA,CAKD,mGACC,wCAAA,CAIF,oDACC,qCAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAKD,6CACC,gBAAA,CACA,+HAEC,aAAA,CAIF,sDACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\toverflow: hidden;\\n\\n\\t\\th5 {\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t::v-deep .avatar-link-share {\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\t\\tmargin-left: auto;\\n\\t\\t~ .action-item,\\n\\t\\t~ .sharing-entry__loading {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-8e155ce6]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-8e155ce6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__desc-unique[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-8e155ce6]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AA2ZA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAED,6CACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t&-unique {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\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 * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\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/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\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 `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = iterator['return'];\n if (innerResult === undefined) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = innerResult.call(iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a number');\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var argumentsLength = arguments.length;\n var i = 1;\n while (argumentsLength > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ScopedStorage =\n/*#__PURE__*/\nfunction () {\n function ScopedStorage(scope, wrapped, persistent) {\n _classCallCheck(this, ScopedStorage);\n\n _defineProperty(this, \"scope\", void 0);\n\n _defineProperty(this, \"wrapped\", void 0);\n\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n\n _createClass(ScopedStorage, [{\n key: \"scopeKey\",\n value: function scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n Object.keys(this.wrapped).filter(function (key) {\n return key.startsWith(_this.scope);\n }).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n }]);\n\n return ScopedStorage;\n}();\n\nexports.default = ScopedStorage;\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n result += chr + string.charAt(++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n chr = chr + string.charAt(++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (IS_NCG.test(string.slice(index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || has(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named.push([groupname, groupid]);\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || pattern instanceof RegExpWrapper) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && flags.indexOf('s') > -1;\n if (dotAll) flags = flags.replace(/s/g, '');\n }\n\n rawFlags = flags;\n\n if (UNSUPPORTED_Y && 'sticky' in re1) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon arrow-right-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon arrow-right-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ArrowRightIcon\",\n props: {\n title: {\n type: String,\n default: \"Arrow Right icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./ArrowRight.vue?vue&type=template&id=52d8fca9&functional=true&\"\nimport script from \"./ArrowRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ArrowRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n Vue.prototype.$clipboardConfig = VueClipboardConfig\n Vue.prototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","import e from\"@nextcloud/vue/dist/Components/Actions\";import n from\"@nextcloud/vue/dist/Components/ActionButton\";import o from\"@nextcloud/vue/dist/Components/Avatar\";import r from\"@nextcloud/vue/dist/Directives/Tooltip\";import i from\"vue\";import a from\"@nextcloud/axios\";import c from\"@nextcloud/vue/dist/Components/Multiselect\";var l=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)},s=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function u(t,e){return t(e={exports:{}},e.exports),e.exports}var f=\"object\"==typeof s&&s&&s.Object===Object&&s,p=\"object\"==typeof self&&self&&self.Object===Object&&self,d=f||p||Function(\"return this\")(),v=function(){return d.Date.now()},m=d.Symbol,h=Object.prototype,g=h.hasOwnProperty,y=h.toString,b=m?m.toStringTag:void 0;var x=function(t){var e=g.call(t,b),n=t[b];try{t[b]=void 0;var o=!0}catch(t){}var r=y.call(t);return o&&(e?t[b]=n:delete t[b]),r},_=Object.prototype.toString;var C=function(t){return _.call(t)},w=m?m.toStringTag:void 0;var O=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":w&&w in Object(t)?x(t):C(t)};var S=function(t){return null!=t&&\"object\"==typeof t};var R=function(t){return\"symbol\"==typeof t||S(t)&&\"[object Symbol]\"==O(t)},E=/^\\s+|\\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,T=/^0o[0-7]+$/i,I=parseInt;var P=function(t){if(\"number\"==typeof t)return t;if(R(t))return NaN;if(l(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=l(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(E,\"\");var n=k.test(t);return n||T.test(t)?I(t.slice(2),n?2:8):j.test(t)?NaN:+t},U=Math.max,A=Math.min;var N=function(t,e,n){var o,r,i,a,c,s,u=0,f=!1,p=!1,d=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function m(e){var n=o,i=r;return o=r=void 0,u=e,a=t.apply(i,n)}function h(t){return u=t,c=setTimeout(y,e),f?m(t):a}function g(t){var n=t-s;return void 0===s||n>=e||n<0||p&&t-u>=i}function y(){var t=v();if(g(t))return b(t);c=setTimeout(y,function(t){var n=e-(t-s);return p?A(n,i-(t-u)):n}(t))}function b(t){return c=void 0,d&&o?m(t):(o=r=void 0,a)}function x(){var t=v(),n=g(t);if(o=arguments,r=this,s=t,n){if(void 0===c)return h(s);if(p)return clearTimeout(c),c=setTimeout(y,e),m(s)}return void 0===c&&(c=setTimeout(y,e)),a}return e=P(e)||0,l(n)&&(f=!!n.leading,i=(p=\"maxWait\"in n)?U(P(n.maxWait)||0,e):i,d=\"trailing\"in n?!!n.trailing:d),x.cancel=function(){void 0!==c&&clearTimeout(c),u=0,o=s=r=c=void 0},x.flush=function(){return void 0===c?a:b(v())},x};function $(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var M=function(t){return t&&t.Math==Math&&t},D=M(\"object\"==typeof globalThis&&globalThis)||M(\"object\"==typeof window&&window)||M(\"object\"==typeof self&&self)||M(\"object\"==typeof s&&s)||Function(\"return this\")(),F=function(t){try{return!!t()}catch(t){return!0}},L=!F((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),B={}.propertyIsEnumerable,z=Object.getOwnPropertyDescriptor,V={f:z&&!B.call({1:2},1)?function(t){var e=z(this,t);return!!e&&e.enumerable}:B},G=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},K={}.toString,W=function(t){return K.call(t).slice(8,-1)},X=\"\".split,Y=F((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==W(t)?X.call(t,\"\"):Object(t)}:Object,q=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t},H=function(t){return Y(q(t))},J=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},Q=function(t,e){if(!J(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!J(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")},Z={}.hasOwnProperty,tt=function(t,e){return Z.call(t,e)},et=D.document,nt=J(et)&&J(et.createElement),ot=!L&&!F((function(){return 7!=Object.defineProperty((t=\"div\",nt?et.createElement(t):{}),\"a\",{get:function(){return 7}}).a;var t})),rt=Object.getOwnPropertyDescriptor,it={f:L?rt:function(t,e){if(t=H(t),e=Q(e,!0),ot)try{return rt(t,e)}catch(t){}if(tt(t,e))return G(!V.f.call(t,e),t[e])}},at=function(t){if(!J(t))throw TypeError(String(t)+\" is not an object\");return t},ct=Object.defineProperty,lt={f:L?ct:function(t,e,n){if(at(t),e=Q(e,!0),at(n),ot)try{return ct(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported\");return\"value\"in n&&(t[e]=n.value),t}},st=L?function(t,e,n){return lt.f(t,e,G(1,n))}:function(t,e,n){return t[e]=n,t},ut=function(t,e){try{st(D,t,e)}catch(n){D[t]=e}return e},ft=D[\"__core-js_shared__\"]||ut(\"__core-js_shared__\",{}),pt=Function.toString;\"function\"!=typeof ft.inspectSource&&(ft.inspectSource=function(t){return pt.call(t)});var dt,vt,mt,ht,gt=ft.inspectSource,yt=D.WeakMap,bt=\"function\"==typeof yt&&/native code/.test(gt(yt)),xt=u((function(t){(t.exports=function(t,e){return ft[t]||(ft[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})})),_t=0,Ct=Math.random(),wt=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++_t+Ct).toString(36)},Ot=xt(\"keys\"),St={},Rt=D.WeakMap;if(bt){var Et=new Rt,jt=Et.get,kt=Et.has,Tt=Et.set;dt=function(t,e){return Tt.call(Et,t,e),e},vt=function(t){return jt.call(Et,t)||{}},mt=function(t){return kt.call(Et,t)}}else{var It=Ot[ht=\"state\"]||(Ot[ht]=wt(ht));St[It]=!0,dt=function(t,e){return st(t,It,e),e},vt=function(t){return tt(t,It)?t[It]:{}},mt=function(t){return tt(t,It)}}var Pt,Ut,At={set:dt,get:vt,has:mt,enforce:function(t){return mt(t)?vt(t):dt(t,{})},getterFor:function(t){return function(e){var n;if(!J(e)||(n=vt(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return n}}},Nt=u((function(t){var e=At.get,n=At.enforce,o=String(String).split(\"String\");(t.exports=function(t,e,r,i){var a=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,l=!!i&&!!i.noTargetGet;\"function\"==typeof r&&(\"string\"!=typeof e||tt(r,\"name\")||st(r,\"name\",e),n(r).source=o.join(\"string\"==typeof e?e:\"\")),t!==D?(a?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=r:st(t,e,r)):c?t[e]=r:ut(e,r)})(Function.prototype,\"toString\",(function(){return\"function\"==typeof this&&e(this).source||gt(this)}))})),$t=D,Mt=function(t){return\"function\"==typeof t?t:void 0},Dt=Math.ceil,Ft=Math.floor,Lt=function(t){return isNaN(t=+t)?0:(t>0?Ft:Dt)(t)},Bt=Math.min,zt=function(t){return t>0?Bt(Lt(t),9007199254740991):0},Vt=Math.max,Gt=Math.min,Kt=function(t){return function(e,n,o){var r,i=H(e),a=zt(i.length),c=function(t,e){var n=Lt(t);return n<0?Vt(n+e,0):Gt(n,e)}(o,a);if(t&&n!=n){for(;a>c;)if((r=i[c++])!=r)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},Wt={includes:Kt(!0),indexOf:Kt(!1)},Xt=Wt.indexOf,Yt=function(t,e){var n,o=H(t),r=0,i=[];for(n in o)!tt(St,n)&&tt(o,n)&&i.push(n);for(;e.length>r;)tt(o,n=e[r++])&&(~Xt(i,n)||i.push(n));return i},qt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],Ht=qt.concat(\"length\",\"prototype\"),Jt={f:Object.getOwnPropertyNames||function(t){return Yt(t,Ht)}},Qt={f:Object.getOwnPropertySymbols},Zt=function(t,e){return arguments.length<2?Mt($t[t])||Mt(D[t]):$t[t]&&$t[t][e]||D[t]&&D[t][e]}(\"Reflect\",\"ownKeys\")||function(t){var e=Jt.f(at(t)),n=Qt.f;return n?e.concat(n(t)):e},te=function(t,e){for(var n=Zt(e),o=lt.f,r=it.f,i=0;i<n.length;i++){var a=n[i];tt(t,a)||o(t,a,r(e,a))}},ee=/#|\\.prototype\\./,ne=function(t,e){var n=re[oe(t)];return n==ae||n!=ie&&(\"function\"==typeof e?F(e):!!e)},oe=ne.normalize=function(t){return String(t).replace(ee,\".\").toLowerCase()},re=ne.data={},ie=ne.NATIVE=\"N\",ae=ne.POLYFILL=\"P\",ce=ne,le=it.f,se=function(t,e){var n,o,r,i,a,c=t.target,l=t.global,s=t.stat;if(n=l?D:s?D[c]||ut(c,{}):(D[c]||{}).prototype)for(o in e){if(i=e[o],r=t.noTargetGet?(a=le(n,o))&&a.value:n[o],!ce(l?o:c+(s?\".\":\"#\")+o,t.forced)&&void 0!==r){if(typeof i==typeof r)continue;te(i,r)}(t.sham||r&&r.sham)&&st(i,\"sham\",!0),Nt(n,o,i,t)}},ue=Object.defineProperty,fe={},pe=function(t){throw t},de=Wt.indexOf,ve=[].indexOf,me=!!ve&&1/[1].indexOf(1,-0)<0,he=!!(Ut=[][\"indexOf\"])&&F((function(){Ut.call(null,Pt||function(){throw 1},1)})),ge=function(t,e){if(tt(fe,t))return fe[t];e||(e={});var n=[][t],o=!!tt(e,\"ACCESSORS\")&&e.ACCESSORS,r=tt(e,0)?e[0]:pe,i=tt(e,1)?e[1]:void 0;return fe[t]=!!n&&!F((function(){if(o&&!L)return!0;var t={length:-1};o?ue(t,1,{enumerable:!0,get:pe}):t[1]=1,n.call(t,r,i)}))}(\"indexOf\",{ACCESSORS:!0,1:0});se({target:\"Array\",proto:!0,forced:me||!he||!ge},{indexOf:function(t){return me?ve.apply(this,arguments)||0:de(this,t,arguments.length>1?arguments[1]:void 0)}});var ye=Object.keys||function(t){return Yt(t,qt)},be=function(t){return Object(q(t))},xe=Object.assign,_e=Object.defineProperty,Ce=!xe||F((function(){if(L&&1!==xe({b:1},xe(_e({},\"a\",{enumerable:!0,get:function(){_e(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o=\"abcdefghijklmnopqrst\";return t[n]=7,o.split(\"\").forEach((function(t){e[t]=t})),7!=xe({},t)[n]||ye(xe({},e)).join(\"\")!=o}))?function(t,e){for(var n=be(t),o=arguments.length,r=1,i=Qt.f,a=V.f;o>r;)for(var c,l=Y(arguments[r++]),s=i?ye(l).concat(i(l)):ye(l),u=s.length,f=0;u>f;)c=s[f++],L&&!a.call(l,c)||(n[c]=l[c]);return n}:xe;se({target:\"Object\",stat:!0,forced:Object.assign!==Ce},{assign:Ce});var we=!!Object.getOwnPropertySymbols&&!F((function(){return!String(Symbol())})),Oe=we&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,Se=xt(\"wks\"),Re=D.Symbol,Ee=Oe?Re:Re&&Re.withoutSetter||wt,je=function(t){return tt(Se,t)||(we&&tt(Re,t)?Se[t]=Re[t]:Se[t]=Ee(\"Symbol.\"+t)),Se[t]},ke={};ke[je(\"toStringTag\")]=\"z\";var Te=\"[object z]\"===String(ke),Ie=je(\"toStringTag\"),Pe=\"Arguments\"==W(function(){return arguments}()),Ue=Te?W:function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ie))?n:Pe?W(e):\"Object\"==(o=W(e))&&\"function\"==typeof e.callee?\"Arguments\":o},Ae=Te?{}.toString:function(){return\"[object \"+Ue(this)+\"]\"};Te||Nt(Object.prototype,\"toString\",Ae,{unsafe:!0});var Ne=function(){var t=at(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e};function $e(t,e){return RegExp(t,e)}var Me,De,Fe={UNSUPPORTED_Y:F((function(){var t=$e(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")})),BROKEN_CARET:F((function(){var t=$e(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")}))},Le=RegExp.prototype.exec,Be=String.prototype.replace,ze=Le,Ve=(Me=/a/,De=/b*/g,Le.call(Me,\"a\"),Le.call(De,\"a\"),0!==Me.lastIndex||0!==De.lastIndex),Ge=Fe.UNSUPPORTED_Y||Fe.BROKEN_CARET,Ke=void 0!==/()??/.exec(\"\")[1];(Ve||Ke||Ge)&&(ze=function(t){var e,n,o,r,i=this,a=Ge&&i.sticky,c=Ne.call(i),l=i.source,s=0,u=t;return a&&(-1===(c=c.replace(\"y\",\"\")).indexOf(\"g\")&&(c+=\"g\"),u=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&\"\\n\"!==t[i.lastIndex-1])&&(l=\"(?: \"+l+\")\",u=\" \"+u,s++),n=new RegExp(\"^(?:\"+l+\")\",c)),Ke&&(n=new RegExp(\"^\"+l+\"$(?!\\\\s)\",c)),Ve&&(e=i.lastIndex),o=Le.call(a?n:i,u),a?o?(o.input=o.input.slice(s),o[0]=o[0].slice(s),o.index=i.lastIndex,i.lastIndex+=o[0].length):i.lastIndex=0:Ve&&o&&(i.lastIndex=i.global?o.index+o[0].length:e),Ke&&o&&o.length>1&&Be.call(o[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(o[r]=void 0)})),o});var We=ze;se({target:\"RegExp\",proto:!0,forced:/./.exec!==We},{exec:We});var Xe=RegExp.prototype,Ye=Xe.toString,qe=F((function(){return\"/a/b\"!=Ye.call({source:\"a\",flags:\"b\"})})),He=\"toString\"!=Ye.name;(qe||He)&&Nt(RegExp.prototype,\"toString\",(function(){var t=at(this),e=String(t.source),n=t.flags;return\"/\"+e+\"/\"+String(void 0===n&&t instanceof RegExp&&!(\"flags\"in Xe)?Ne.call(t):n)}),{unsafe:!0});var Je=je(\"species\"),Qe=!F((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")})),Ze=\"$0\"===\"a\".replace(/./,\"$0\"),tn=je(\"replace\"),en=!!/./[tn]&&\"\"===/./[tn](\"a\",\"$0\"),nn=!F((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n=\"ab\".split(t);return 2!==n.length||\"a\"!==n[0]||\"b\"!==n[1]})),on=function(t){return function(e,n){var o,r,i=String(q(e)),a=Lt(n),c=i.length;return a<0||a>=c?t?\"\":void 0:(o=i.charCodeAt(a))<55296||o>56319||a+1===c||(r=i.charCodeAt(a+1))<56320||r>57343?t?i.charAt(a):o:t?i.slice(a,a+2):r-56320+(o-55296<<10)+65536}},rn={codeAt:on(!1),charAt:on(!0)}.charAt,an=function(t,e,n){return e+(n?rn(t,e).length:1)},cn=function(t,e){var n=t.exec;if(\"function\"==typeof n){var o=n.call(t,e);if(\"object\"!=typeof o)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return o}if(\"RegExp\"!==W(t))throw TypeError(\"RegExp#exec called on incompatible receiver\");return We.call(t,e)},ln=Math.max,sn=Math.min,un=Math.floor,fn=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,pn=/\\$([$&'`]|\\d\\d?)/g;!function(t,e,n,o){var r=je(t),i=!F((function(){var e={};return e[r]=function(){return 7},7!=\"\"[t](e)})),a=i&&!F((function(){var e=!1,n=/a/;return\"split\"===t&&((n={}).constructor={},n.constructor[Je]=function(){return n},n.flags=\"\",n[r]=/./[r]),n.exec=function(){return e=!0,null},n[r](\"\"),!e}));if(!i||!a||\"replace\"===t&&(!Qe||!Ze||en)||\"split\"===t&&!nn){var c=/./[r],l=n(r,\"\"[t],(function(t,e,n,o,r){return e.exec===We?i&&!r?{done:!0,value:c.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}}),{REPLACE_KEEPS_$0:Ze,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:en}),s=l[0],u=l[1];Nt(String.prototype,t,s),Nt(RegExp.prototype,r,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)})}o&&st(RegExp.prototype[r],\"sham\",!0)}(\"replace\",2,(function(t,e,n,o){var r=o.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=o.REPLACE_KEEPS_$0,a=r?\"$\":\"$0\";return[function(n,o){var r=q(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r,o):e.call(String(r),n,o)},function(t,o){if(!r&&i||\"string\"==typeof o&&-1===o.indexOf(a)){var l=n(e,t,this,o);if(l.done)return l.value}var s=at(t),u=String(this),f=\"function\"==typeof o;f||(o=String(o));var p=s.global;if(p){var d=s.unicode;s.lastIndex=0}for(var v=[];;){var m=cn(s,u);if(null===m)break;if(v.push(m),!p)break;\"\"===String(m[0])&&(s.lastIndex=an(u,zt(s.lastIndex),d))}for(var h,g=\"\",y=0,b=0;b<v.length;b++){m=v[b];for(var x=String(m[0]),_=ln(sn(Lt(m.index),u.length),0),C=[],w=1;w<m.length;w++)C.push(void 0===(h=m[w])?h:String(h));var O=m.groups;if(f){var S=[x].concat(C,_,u);void 0!==O&&S.push(O);var R=String(o.apply(void 0,S))}else R=c(x,u,_,C,O,o);_>=y&&(g+=u.slice(y,_)+R,y=_+x.length)}return g+u.slice(y)}];function c(t,n,o,r,i,a){var c=o+t.length,l=r.length,s=pn;return void 0!==i&&(i=be(i),s=fn),e.call(a,s,(function(e,a){var s;switch(a.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return n.slice(0,o);case\"'\":return n.slice(c);case\"<\":s=i[a.slice(1,-1)];break;default:var u=+a;if(0===u)return e;if(u>l){var f=un(u/10);return 0===f?e:f<=l?void 0===r[f-1]?a.charAt(1):r[f-1]+a.charAt(1):e}s=r[u-1]}return void 0===s?\"\":s}))}}));var dn,vn=u((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getRootUrl=e.generateFilePath=e.imagePath=e.generateUrl=e.generateOcsUrl=e.generateRemoteUrl=e.linkTo=void 0;e.linkTo=function(t,e){return n(t,\"\",e)};e.generateRemoteUrl=function(t){return window.location.protocol+\"//\"+window.location.host+function(t){return o()+\"/remote.php/\"+t}(t)};e.generateOcsUrl=function(t,e){return e=2!==e?1:2,window.location.protocol+\"//\"+window.location.host+o()+\"/ocs/v\"+e+\".php/\"+t+\"/\"};e.generateUrl=function(t,e,n){var r=Object.assign({escape:!0,noRewrite:!1},n||{}),i=function(t,e){return e=e||{},t.replace(/{([^{}]*)}/g,(function(t,n){var o=e[n];return r.escape?\"string\"==typeof o||\"number\"==typeof o?encodeURIComponent(o.toString()):encodeURIComponent(t):\"string\"==typeof o||\"number\"==typeof o?o.toString():t}))};return\"/\"!==t.charAt(0)&&(t=\"/\"+t),!0!==OC.config.modRewriteWorking||r.noRewrite?o()+\"/index.php\"+i(t,e||{}):o()+i(t,e||{})};e.imagePath=function(t,e){return-1===e.indexOf(\".\")?n(t,\"img\",e+\".svg\"):n(t,\"img\",e)};var n=function(t,e,n){var r=-1!==OC.coreApps.indexOf(t),i=o();return\"php\"!==n.substring(n.length-3)||r?\"php\"===n.substring(n.length-3)||r?(i+=\"settings\"!==t&&\"core\"!==t&&\"search\"!==t||\"ajax\"!==e?\"/\":\"/index.php/\",r||(i+=\"apps/\"),\"\"!==t&&(i+=t+=\"/\"),e&&(i+=e+\"/\"),i+=n):(i=OC.appswebroots[t],e&&(i+=\"/\"+e+\"/\"),\"/\"!==i.substring(i.length-1)&&(i+=\"/\"),i+=n):(i+=\"/index.php/apps/\"+t,\"index.php\"!==n&&(i+=\"/\",e&&(i+=encodeURI(e+\"/\")),i+=n)),i};e.generateFilePath=n;var o=function(){return OC.webroot};e.getRootUrl=o}));(dn=vn)&&dn.__esModule&&Object.prototype.hasOwnProperty.call(dn,\"default\")&&dn.default;vn.getRootUrl,vn.generateFilePath,vn.imagePath,vn.generateUrl;var mn=vn.generateOcsUrl,hn=(vn.generateRemoteUrl,vn.linkTo,new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.http=a,this.baseUrl=mn(\"collaboration/resources\",2)}var e,n,o;return e=t,(n=[{key:\"listCollection\",value:function(t){return this.http.get(\"\".concat(this.baseUrl,\"collections/\").concat(t))}},{key:\"renameCollection\",value:function(t,e){var n=mn(\"collaboration/resources/collections\",2);return this.http.put(\"\".concat(n).concat(t,\"?format=json\"),{collectionName:e}).then((function(t){return t.data.ocs.data}))}},{key:\"getCollectionsByResource\",value:function(t,e){var n=mn(\"collaboration/resources/\".concat(t),2);return this.http.get(\"\".concat(n).concat(e,\"?format=json\")).then((function(t){return t.data.ocs.data}))}},{key:\"createCollection\",value:function(t,e,n){var o=mn(\"collaboration/resources/\".concat(t),2);return this.http.post(\"\".concat(o).concat(e,\"?format=json\"),{name:n}).then((function(t){return t.data.ocs.data}))}},{key:\"addResource\",value:function(t,e,n){n=\"\"+n;var o=mn(\"collaboration/resources/collections\",2);return this.http.post(\"\".concat(o).concat(t,\"?format=json\"),{resourceType:e,resourceId:n}).then((function(t){return t.data.ocs.data}))}},{key:\"removeResource\",value:function(t,e,n){return this.http.delete(\"\".concat(this.baseUrl,\"collections/\").concat(t),{params:{resourceType:e,resourceId:n}}).then((function(t){return t.data.ocs.data}))}},{key:\"search\",value:function(t){t=encodeURI(t);var e=mn(\"collaboration/resources/collections/search\",2);return this.http.get(\"\".concat(e).concat(t,\"?format=json\")).then((function(t){return t.data.ocs.data}))}}])&&$(e.prototype,n),o&&$(e,o),t}())),gn=i.observable({collections:[]}),yn=function(t){i.set(gn,\"collections\",t)},bn=function(t){gn.collections.push(t)},xn=function(t){i.set(gn,\"collections\",gn.collections.filter((function(e){return e.id!==t})))},_n=function(t){var e=gn.collections.findIndex((function(e){return e.id===t.id}));-1!==e?i.set(gn.collections,e,t):gn.collections.push(t)},Cn={fetchCollectionsByResource:function(t){var e=t.resourceType,n=t.resourceId;return hn.getCollectionsByResource(e,n).then((function(t){return yn(t),t}))},createCollection:function(t){var e=t.baseResourceType,n=t.baseResourceId,o=t.resourceType,r=t.resourceId,i=t.name;return hn.createCollection(e,n,i).then((function(t){bn(t),Cn.addResourceToCollection({collectionId:t.id,resourceType:o,resourceId:r})}))},renameCollection:function(t){var e=t.collectionId,n=t.name;return hn.renameCollection(e,n).then((function(t){return _n(t),t}))},addResourceToCollection:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.addResource(e,n,o).then((function(t){return _n(t),t}))},removeResource:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.removeResource(e,n,o).then((function(t){t.resources.length>0?_n(t):xn(t)}))},search:function(t){return hn.search(t)}};r.options.defaultHtml=!1;var wn={name:\"CollectionListItem\",components:{Avatar:o,Actions:e,ActionButton:n},directives:{Tooltip:r},props:{collection:{type:Object,default:null}},data:function(){return{detailsOpen:!1,newName:null,error:{}}},computed:{getIcon:function(){return function(t){return[t.iconClass]}},typeClass:function(){return function(t){return\"resource-type-\"+t.type}},limitedResources:function(){return function(t){return t.resources?t.resources.slice(0,2):[]}},iconUrl:function(){return function(t){return t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:\"\"}}},methods:{toggleDetails:function(){this.detailsOpen=!this.detailsOpen},showDetails:function(){this.detailsOpen=!0},hideDetails:function(){this.detailsOpen=!1},removeResource:function(t,e){Cn.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename:function(){this.newName=this.collection.name},renameCollection:function(){var e=this;\"\"!==this.newName?Cn.renameCollection({collectionId:this.collection.id,name:this.newName}).then((function(t){e.newName=null})).catch((function(n){e.$set(e.error,\"rename\",t(\"core\",\"Failed to rename the project\")),console.error(n),setTimeout((function(){Vue.set(e.error,\"rename\",null)}),3e3)})):this.newName=null}}};function On(t,e,n,o,r,i,a,c,l,s){\"boolean\"!=typeof a&&(l=c,c=a,a=!1);const u=\"function\"==typeof n?n.options:n;let f;if(t&&t.render&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0,r&&(u.functional=!0)),o&&(u._scopeId=o),i?(f=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=f):e&&(f=a?function(t){e.call(this,s(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,c(t))}),f)if(u.functional){const t=u.render;u.render=function(e,n){return f.call(n),t(e,n)}}else{const t=u.beforeCreate;u.beforeCreate=t?[].concat(t,f):[f]}return n}const Sn=\"undefined\"!=typeof navigator&&/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());function Rn(t){return(t,e)=>function(t,e){const n=Sn?e.media||\"default\":t,o=jn[n]||(jn[n]={ids:new Set,styles:[]});if(!o.ids.has(t)){o.ids.add(t);let n=e.source;if(e.map&&(n+=\"\\n/*# sourceURL=\"+e.map.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),o.element||(o.element=document.createElement(\"style\"),o.element.type=\"text/css\",e.media&&o.element.setAttribute(\"media\",e.media),void 0===En&&(En=document.head||document.getElementsByTagName(\"head\")[0]),En.appendChild(o.element)),\"styleSheet\"in o.element)o.styles.push(n),o.element.styleSheet.cssText=o.styles.filter(Boolean).join(\"\\n\");else{const t=o.ids.size-1,e=document.createTextNode(n),r=o.element.childNodes;r[t]&&o.element.removeChild(r[t]),r.length?o.element.insertBefore(e,r[t]):o.element.appendChild(e)}}}(t,e)}let En;const jn={};const kn=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"collection-list-item\"},[n(\"Avatar\",{staticClass:\"collection-avatar\",attrs:{\"display-name\":t.collection.name,\"allow-placeholder\":!0}}),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"collection-item-name\",attrs:{title:\"\"},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):n(\"form\",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection(e)}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.newName,expression:\"newName\"}],attrs:{type:\"text\",autocomplete:\"off\",autocapitalize:\"off\"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]),t._v(\" \"),t.detailsOpen||null!==t.newName?t._e():n(\"div\",{staticClass:\"linked-icons\"},t._l(t.limitedResources(t.collection),(function(e){return n(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:e.name,expression:\"resource.name\"}],key:e.type+\"|\"+e.id,class:t.typeClass(e),attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}})])})),0),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"sharingOptionsGroup\"},[n(\"Actions\",[n(\"ActionButton\",{attrs:{icon:\"icon-info\"},on:{click:function(e){return e.preventDefault(),t.toggleDetails(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.detailsOpen?t.t(\"core\",\"Hide details\"):t.t(\"core\",\"Show details\"))+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"ActionButton\",{attrs:{icon:\"icon-rename\"},on:{click:function(e){return e.preventDefault(),t.openRename(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Rename project\"))+\"\\n\\t\\t\\t\")])],1)],1):t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error.rename?n(\"div\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error.rename)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.detailsOpen?n(\"ul\",{staticClass:\"resource-list-details\"},t._l(t.collection.resources,(function(e){return n(\"li\",{key:e.type+\"|\"+e.id,class:t.typeClass(e)},[n(\"a\",{attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}}),n(\"span\",{staticClass:\"resource-name\"},[t._v(t._s(e.name||\"\"))])]),t._v(\" \"),n(\"span\",{staticClass:\"icon-close\",on:{click:function(n){return t.removeResource(t.collection,e)}}})])})),0):t._e()])],1)},staticRenderFns:[]},(function(t){t&&t(\"data-v-37fa7b72_0\",{source:\".fade-enter-active[data-v-37fa7b72],.fade-leave-active[data-v-37fa7b72]{transition:opacity .3s ease}.fade-enter[data-v-37fa7b72],.fade-leave-to[data-v-37fa7b72]{opacity:0}.linked-icons[data-v-37fa7b72]{display:flex}.linked-icons img[data-v-37fa7b72]{padding:12px;height:44px;display:block;background-repeat:no-repeat;background-position:center;opacity:.7}.linked-icons img[data-v-37fa7b72]:hover{opacity:1}.popovermenu[data-v-37fa7b72]{display:none}.popovermenu.open[data-v-37fa7b72]{display:block}li.collection-list-item[data-v-37fa7b72]{flex-wrap:wrap;height:auto;cursor:pointer;margin-bottom:0!important}li.collection-list-item .collection-avatar[data-v-37fa7b72]{margin-top:6px}li.collection-list-item .collection-item-name[data-v-37fa7b72],li.collection-list-item form[data-v-37fa7b72]{flex-basis:10%;flex-grow:1;display:flex}li.collection-list-item .collection-item-name[data-v-37fa7b72]{padding:12px 9px}li.collection-list-item input[type=text][data-v-37fa7b72]{margin-top:4px;flex-grow:1}li.collection-list-item .error[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details li[data-v-37fa7b72]{display:flex;margin-left:44px;border-radius:3px;cursor:pointer}li.collection-list-item .resource-list-details li[data-v-37fa7b72]:hover{background-color:var(--color-background-dark)}li.collection-list-item .resource-list-details li a[data-v-37fa7b72]{flex-grow:1;padding:3px;max-width:calc(100% - 30px);display:flex}li.collection-list-item .resource-list-details span[data-v-37fa7b72]{display:inline-block;vertical-align:top;margin-right:10px}li.collection-list-item .resource-list-details span.resource-name[data-v-37fa7b72]{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top;white-space:nowrap;flex-grow:1;padding:4px}li.collection-list-item .resource-list-details img[data-v-37fa7b72]{width:24px;height:24px}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]{opacity:.7}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:focus,li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:hover{opacity:1}.shouldshake[data-v-37fa7b72]{animation:shake-data-v-37fa7b72 .6s 1 linear}@keyframes shake-data-v-37fa7b72{0%{transform:translate(15px)}20%{transform:translate(-15px)}40%{transform:translate(7px)}60%{transform:translate(-7px)}80%{transform:translate(3px)}100%{transform:translate(0)}}\",map:void 0,media:void 0})}),wn,\"data-v-37fa7b72\",false,undefined,!1,Rn,void 0,void 0);var Tn=N((function(t){var e=this;\"\"!==t&&Cn.search(t).then((function(t){e.searchCollections=t})).catch((function(t){console.error(\"Failed to search for collections\",t)}))}),500,{});const In=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.collections&&t.type&&t.id?n(\"ul\",{staticClass:\"collection-list\",attrs:{id:\"collection-list\"}},[n(\"li\",{on:{click:t.showSelect}},[t._m(0),t._v(\" \"),n(\"div\",{attrs:{id:\"collection-select-container\"}},[n(\"Multiselect\",{ref:\"select\",attrs:{options:t.options,placeholder:t.placeholder,\"tag-placeholder\":\"Create a new project\",label:\"title\",\"track-by\":\"title\",\"reset-after\":!0,limit:5},on:{select:t.select,\"search-change\":t.search},scopedSlots:t._u([{key:\"singleLabel\",fn:function(e){return[n(\"span\",{staticClass:\"option__desc\"},[n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])])]}},{key:\"option\",fn:function(e){return[n(\"span\",{staticClass:\"option__wrapper\"},[e.option.class?n(\"span\",{staticClass:\"avatar\",class:e.option.class}):2!==e.option.method?n(\"Avatar\",{attrs:{\"display-name\":e.option.title,\"allow-placeholder\":!0}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])],1)]}}],null,!1,1746341295),model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}}),t._v(\" \"),n(\"p\",{staticClass:\"hint\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Connect items to a project to make them easier to find\"))+\"\\n\\t\\t\\t\")])],1)]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error?n(\"li\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),t._l(t.collections,(function(t){return n(\"CollectionListItem\",{key:t.id,attrs:{collection:t}})}))],2):t._e()},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e(\"div\",{staticClass:\"avatar\"},[e(\"span\",{staticClass:\"icon-projects\"})])}]},(function(t){t&&t(\"data-v-68879a84_0\",{source:\".collection-list *[data-v-68879a84]{box-sizing:border-box}.collection-list>li[data-v-68879a84]{display:flex;align-items:start}.collection-list>li>.avatar[data-v-68879a84]{margin-top:5px}#collection-select-container[data-v-68879a84]{display:flex;flex-direction:column;margin-top:-5px}.multiselect[data-v-68879a84]{z-index:2;width:100%;margin-left:3px;background-color:transparent}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags{border:none!important}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags input::placeholder{color:var(--color-main-text)}.multiselect[data-v-68879a84] .multiselect__input{background-color:transparent}.multiselect span.avatar[data-v-68879a84]{display:block;padding:16px;opacity:.7;background-repeat:no-repeat;background-position:center}.multiselect span.avatar[data-v-68879a84]:hover{opacity:1}.multiselect.multiselect--active+p.hint[data-v-68879a84]{opacity:0}p.hint[data-v-68879a84]{z-index:1;margin-top:-16px;padding:8px 8px;color:var(--color-text-maxcontrast);line-height:normal}div.avatar[data-v-68879a84]{width:32px;height:32px;margin:0;padding:8px;background-color:var(--color-background-dark);margin-top:30px}.icon-projects[data-v-68879a84]{display:block;padding:8px;background-repeat:no-repeat;background-position:center}.option__wrapper[data-v-68879a84]{display:flex}.option__wrapper .avatar[data-v-68879a84]{display:block;background-color:var(--color-background-darker)!important}.option__wrapper .option__title[data-v-68879a84]{padding:4px}.fade-enter-active[data-v-68879a84],.fade-leave-active[data-v-68879a84]{transition:opacity .5s}.fade-enter[data-v-68879a84],.fade-leave-to[data-v-68879a84]{opacity:0}\",map:void 0,media:void 0})}),{name:\"CollectionList\",components:{CollectionListItem:kn,Avatar:o,Multiselect:c},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:\"\"}},data:function(){return{selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,state:gn}},computed:{collections:function(){var t=this;return this.state.collections.filter((function(e){return void 0!==e.resources.find((function(e){return e&&e.id===\"\"+t.id&&e.type===t.type}))}))},placeholder:function(){return t(\"core\",\"Add to a project\")},options:function(){var e=this,n=[];window.OCP.Collaboration.getTypes().sort().forEach((function(t){n.push({method:0,type:t,title:window.OCP.Collaboration.getLabel(t),class:window.OCP.Collaboration.getIcon(t),action:function(){return window.OCP.Collaboration.trigger(t)}})}));var o=function(t){-1===e.collections.findIndex((function(n){return n.id===e.searchCollections[t].id}))&&n.push({method:1,title:e.searchCollections[t].name,collectionId:e.searchCollections[t].id})};for(var r in this.searchCollections)o(r);return 0===this.searchCollections.length&&n.push({method:2,title:t(\"core\",\"Type to search for existing projects\")}),n}},mounted:function(){Cn.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{select:function(e,n){var o=this;0===e.method&&e.action().then((function(n){Cn.createCollection({baseResourceType:o.type,baseResourceId:o.id,resourceType:e.type,resourceId:n,name:o.name}).catch((function(e){o.setError(t(\"core\",\"Failed to create a project\"),e)}))})).catch((function(t){console.error(\"No resource selected\",t)})),1===e.method&&Cn.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((function(e){o.setError(t(\"core\",\"Failed to add the item to the project\"),e)}))},search:function(t){Tn.bind(this)(t)},showSelect:function(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect:function(){this.selectIsOpen=!1},isVueComponent:function(t){return t._isVue},setError:function(t,e){var n=this;console.error(t,e),this.error=t,setTimeout((function(){n.error=null}),5e3)}}},\"data-v-68879a84\",false,undefined,!1,Rn,void 0,void 0);export{In as CollectionList};\n","!function(A,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(A.NextcloudVue=A.NextcloudVue||{},A.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(A){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return A[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=A,e.c=t,e.d=function(A,t,n){e.o(A,t)||Object.defineProperty(A,t,{enumerable:!0,get:n})},e.r=function(A){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(A,\"__esModule\",{value:!0})},e.t=function(A,t){if(1&t&&(A=e(A)),8&t)return A;if(4&t&&\"object\"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:A}),2&t&&\"string\"!=typeof A)for(var o in A)e.d(n,o,function(t){return A[t]}.bind(null,o));return n},e.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return e.d(t,\"a\",t),t},e.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},e.p=\"/dist/\",e(e.s=73)}([function(A,t,e){\"use strict\";function n(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(A)))return;var e=[],n=!0,o=!1,i=void 0;try{for(var a,r=A[Symbol.iterator]();!(n=(a=r.next()).done)&&(e.push(a.value),!t||e.length!==t);n=!0);}catch(A){o=!0,i=A}finally{try{n||null==r.return||r.return()}finally{if(o)throw i}}return e}(A,t)||function(A,t){if(!A)return;if(\"string\"==typeof A)return o(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(A,t)}(A,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}A.exports=function(A){var t=n(A,4),e=t[1],o=t[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),r=\"/*# \".concat(a,\" */\"),s=o.sources.map((function(A){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(A,\" */\")}));return[e].concat(s).concat([r]).join(\"\\n\")}return[e].join(\"\\n\")}},function(A,t,e){\"use strict\";A.exports=function(A){var t=[];return t.toString=function(){return this.map((function(t){var e=A(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(e,\"}\"):e})).join(\"\")},t.i=function(A,e,n){\"string\"==typeof A&&(A=[[null,A,\"\"]]);var o={};if(n)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var r=0;r<A.length;r++){var s=[].concat(A[r]);n&&o[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),t.push(s))}},t}},function(A,t,e){\"use strict\";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var A={};return function(t){if(void 0===A[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(A){e=null}A[t]=e}return A[t]}}(),a=[];function r(A){for(var t=-1,e=0;e<a.length;e++)if(a[e].identifier===A){t=e;break}return t}function s(A,t){for(var e={},n=[],o=0;o<A.length;o++){var i=A[o],s=t.base?i[0]+t.base:i[0],c=e[s]||0,l=\"\".concat(s,\" \").concat(c);e[s]=c+1;var g=r(l),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==g?(a[g].references++,a[g].updater(u)):a.push({identifier:l,updater:p(u,t),references:1}),n.push(l)}return n}function c(A){var t=document.createElement(\"style\"),n=A.attributes||{};if(void 0===n.nonce){var o=e.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(A){t.setAttribute(A,n[A])})),\"function\"==typeof A.insert)A.insert(t);else{var a=i(A.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(t)}return t}var l,g=(l=[],function(A,t){return l[A]=t,l.filter(Boolean).join(\"\\n\")});function u(A,t,e,n){var o=e?\"\":n.media?\"@media \".concat(n.media,\" {\").concat(n.css,\"}\"):n.css;if(A.styleSheet)A.styleSheet.cssText=g(t,o);else{var i=document.createTextNode(o),a=A.childNodes;a[t]&&A.removeChild(a[t]),a.length?A.insertBefore(i,a[t]):A.appendChild(i)}}function d(A,t,e){var n=e.css,o=e.media,i=e.sourceMap;if(o?A.setAttribute(\"media\",o):A.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),A.styleSheet)A.styleSheet.cssText=n;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(n))}}var m=null,C=0;function p(A,t){var e,n,o;if(t.singleton){var i=C++;e=m||(m=c(t)),n=u.bind(null,e,i,!1),o=u.bind(null,e,i,!0)}else e=c(t),n=d.bind(null,e,t),o=function(){!function(A){if(null===A.parentNode)return!1;A.parentNode.removeChild(A)}(e)};return n(A),function(t){if(t){if(t.css===A.css&&t.media===A.media&&t.sourceMap===A.sourceMap)return;n(A=t)}else o()}}A.exports=function(A,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=o());var e=s(A=A||[],t);return function(A){if(A=A||[],\"[object Array]\"===Object.prototype.toString.call(A)){for(var n=0;n<e.length;n++){var o=r(e[n]);a[o].references--}for(var i=s(A,t),c=0;c<e.length;c++){var l=r(e[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}e=i}}}},function(A,t,e){\"use strict\";function n(A,t,e,n,o,i,a,r){var s,c=\"function\"==typeof A?A.options:A;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=\"data-v-\"+i),a?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),o&&o.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(a)},c._ssrRegister=s):o&&(s=r?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(A,t){return s.call(t),l(A,t)}}else{var g=c.beforeCreate;c.beforeCreate=g?[].concat(g,s):[s]}return{exports:A,options:c}}e.d(t,\"a\",(function(){return n}))},function(A,t,e){\"use strict\";A.exports=function(A,t){return t||(t={}),\"string\"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['\"].*['\"]$/.test(A)&&(A=A.slice(1,-1)),t.hash&&(A+=t.hash),/[\"'() \\t\\n]/.test(A)||t.needQuotes?'\"'.concat(A.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):A)}},function(A,t){A.exports=require(\"vue\")},function(A,t){A.exports=require(\"core-js/modules/es.object.to-string.js\")},function(A,t){A.exports=require(\"v-tooltip\")},function(A,t,e){\"use strict\";t.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(A,t,e){\"use strict\";t.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(A,t,e){\"use strict\";e.d(t,\"b\",(function(){return r})),e.d(t,\"a\",(function(){return a}));e(27);var n=e(32),o=Object(n.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(A){var t={};for(var e in A.translations)A.translations[e].pluralId?t[e]={msgid:e,msgid_plural:A.translations[e].pluralId,msgstr:A.translations[e].msgstr}:t[e]={msgid:e,msgstr:[A.translations[e]]};o.addTranslation(A.locale,{translations:{\"\":t}})}));var i=o.build(),a=i.ngettext.bind(i),r=i.gettext.bind(i)},,function(A,t){A.exports=require(\"core-js/modules/es.function.name.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/es.string.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=a},function(A,t){},function(A,t,e){\"use strict\";e.r(t);var n=e(7),o=e(2),i=e.n(o),a=e(23),r={insert:\"head\",singleton:!1};i()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nn.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),n.VTooltip.options.defaultHtml=!1;t.default=n.VTooltip},function(A,t){A.exports=require(\"core-js/modules/es.string.trim.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=a},,function(A,t){A.exports=require(\"core-js/modules/es.string.replace.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(A,t,e){\"use strict\";var n={name:\"Popover\",components:{VPopover:e(7).VPopover},mounted:function(){var A=this;this.$watch((function(){return A.$refs.popover.isOpen}),(function(t){t?A.$emit(\"after-show\"):A.$emit(\"after-hide\")}))}},o=e(2),i=e.n(o),a=e(19),r={insert:\"head\",singleton:!1},s=(i()(a.a,r),a.a.locals,e(3)),c=e(20),l=e.n(c),g=Object(s.a)(n,(function(){var A=this.$createElement,t=this._self._c||A;return t(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),t(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(g);t.a=g.exports},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.js\")},function(A,t){A.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(A,t,e){\"use strict\";e(15),e(25),e(6),e(26);t.a=function(A){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,A||5)}},,function(A,t){A.exports=require(\"core-js/modules/es.array.concat.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.description.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.array.slice.js\")},,,,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.iterator.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(28);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,function(A,t,e){\"use strict\";e(35),e(14),e(101);var n=e(5),o=e.n(n);t.a=function(A,t,e){if(void 0!==A)for(var n=A.length-1;n>=0;n--){var i=A[n],a=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),r=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag,s=r&&-1===t.indexOf(i.componentOptions.tag);(a||!r||s)&&((a||s)&&o.a.util.warn(\"\".concat(a?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),A.splice(n,1))}}},function(A,t){A.exports=require(\"core-js/modules/es.array.filter.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.from.js\")},,,,,,,,,,,,,,,function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i),r=e(4),s=e.n(r),c=e(8),l=e(9),g=e(10),u=e(11),d=a()(o.a),m=s()(c.a),C=s()(l.a),p=s()(g.a),f=s()(u.a);d.push([A.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+C+') format(\"woff\"),url('+p+') format(\"truetype\"),url('+f+') format(\"svg\")}.icon[data-v-54ba527a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.action-item[data-v-54ba527a]{position:relative;display:inline-block}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active,.action-item__menutoggle[data-v-54ba527a]:hover,.action-item__menutoggle[data-v-54ba527a]:focus,.action-item__menutoggle[data-v-54ba527a]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-54ba527a]:disabled,.action-item--single[data-v-54ba527a]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-54ba527a]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-54ba527a],.action-item__menutoggle[data-v-54ba527a]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-54ba527a]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-54ba527a] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-54ba527a]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.action-item__menutoggle--default-icon[data-v-54ba527a]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-54ba527a]{position:relative;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-54ba527a]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-54ba527a]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-54ba527a],.action-item__menutoggle--primary[data-v-54ba527a]:hover,.action-item__menutoggle--primary[data-v-54ba527a]:focus,.action-item__menutoggle--primary[data-v-54ba527a]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-54ba527a]{opacity:.7}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active{opacity:1}.action-item--single>[hidden][data-v-54ba527a]{display:none}.ie .action-item__menu[data-v-54ba527a],.ie .action-item__menu .action-item__menu_arrow[data-v-54ba527a],.edge .action-item__menu[data-v-54ba527a],.edge .action-item__menu .action-item__menu_arrow[data-v-54ba527a]{border:1px solid var(--color-border)}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=d},function(A,t){},function(A,t){A.exports=require(\"core-js/modules/es.object.keys.js\")},,function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(85);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,,,,,,,,,,function(A,t,e){\"use strict\";e(22),e(51),e(69),e(31),e(71),e(27),e(72),e(38),e(6),e(46),e(16),e(17),e(18),e(52),e(41),e(14);var n=e(21),o=e(33),i=e(50),a=e(12),r=e(47);function s(A){return function(A){if(Array.isArray(A))return c(A)}(A)||function(A){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(A))return Array.from(A)}(A)||function(A,t){if(!A)return;if(\"string\"==typeof A)return c(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return c(A,t)}(A)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}function l(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function g(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?l(Object(e),!0).forEach((function(t){u(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):l(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function u(A,t,e){return t in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}var d=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],m={name:\"Actions\",directives:{tooltip:n.default},components:{Popover:r.default,VNodes:{functional:!0,render:function(A,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"},ariaLabel:{type:String,default:Object(a.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(o.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var A=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===A)return g(g({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===A)return g(g({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===A)return g(g({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var A,t,e;return null===(A=this.firstActionVNode)||void 0===A||null===(t=A.componentOptions)||void 0===t||null===(e=t.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var A,t;return null===(A=this.firstAction)||void 0===A||null===(t=A.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(A){A!==this.opened&&(this.opened=A)}},beforeMount:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},beforeUpdate:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},methods:{openMenu:function(A){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(A){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(A){var t=this;this.$nextTick((function(){t.focusFirstAction(A)}))},onMouseFocusAction:function(A){if(document.activeElement!==A.target){var t=A.target.closest(\"li\");if(t){var e=t.querySelector(\".focusable\");if(e){var n=s(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(e);n>-1&&(this.focusIndex=n,this.focusAction())}}}},removeCurrentActive:function(){var A=this.$refs.menu.querySelector(\"li.active\");A&&A.classList.remove(\"active\")},focusAction:function(){var A=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(A){this.removeCurrentActive();var t=A.closest(\"li.action\");A.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(A){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(A){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=0,this.focusAction())},focusLastAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(A){A&&(A.preventDefault(),A.stopPropagation())},execFirstAction:function(A){this.firstActionEvent&&this.firstActionEvent(A)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(A){return!!A&&!!A.componentOptions}))},onFocus:function(A){this.$emit(\"focus\",A)},onBlur:function(A){this.$emit(\"blur\",A)}}},C=e(2),p=e.n(C),f=e(67),h={insert:\"head\",singleton:!1},B=(p()(f.a,h),f.a.locals,e(3)),y=e(68),b=e.n(y),M=Object(B.a)(m,(function(){var A,t,e=this,n=e.$createElement,o=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?o(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(A={},A[e.firstAction.icon]=e.firstAction.icon,A[e.firstActionClass]=e.firstActionClass,A),attrs:{rel:\"noreferrer noopener\",disabled:e.disabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(A){e.opened=A},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{slot:\"trigger\",disabled:e.disabled,\"aria-label\":e.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":e.randomId,\"test-attr\":\"1\",\"aria-expanded\":e.opened?\"true\":\"false\"},on:{focus:e.onFocus,blur:e.onBlur},slot:\"trigger\"},[e._t(\"icon\"),e._v(\"\\n\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\")],2),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"up\",38,A.key,[\"Up\",\"ArrowUp\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"down\",40,A.key,[\"Down\",\"ArrowDown\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")?null:A.shiftKey?A.ctrlKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A):null},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-up\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusFirstAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-down\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusLastAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"esc\",27,A.key,[\"Esc\",\"Escape\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:(A.preventDefault(),e.closeMenu(A))}],mousemove:e.onMouseFocusAction}},[o(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"54ba527a\",null);\"function\"==typeof b.a&&b()(M);t.a=M.exports},,,,,,,,,,,,,,,,function(A,t){A.exports=require(\"core-js/modules/es.array.splice.js\")}])}));\n//# sourceMappingURL=Actions.js.map","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=110)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var e=[],o=!0,i=!1,r=void 0;try{for(var a,s=t[Symbol.iterator]();!(o=(a=s.next()).done)&&(e.push(a.value),!n||e.length!==n);o=!0);}catch(t){i=!0,r=t}finally{try{o||null==s.return||s.return()}finally{if(i)throw r}}return e}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},102:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(49).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(94),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(95),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel},on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}},[t._t(\"icon\")],2),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"42b28436\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},110:function(t,n,e){\"use strict\";e.r(n);var o=e(102);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a},14:function(t,n){t.exports=require(\"core-js/modules/es.function.name.js\")},16:function(t,n){t.exports=require(\"core-js/modules/es.array.iterator.js\")},17:function(t,n){t.exports=require(\"core-js/modules/es.string.iterator.js\")},18:function(t,n){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(p)):a.push({identifier:u,updater:A(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function A(t,n){var e,o,i;if(n.singleton){var r=b++;e=h||(h=l(n)),o=p.bind(null,e,r,!1),i=p.bind(null,e,r,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},22:function(t,n){t.exports=require(\"core-js/modules/es.string.trim.js\")},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},39:function(t,n,e){\"use strict\";e(22),e(14);var o=e(5),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},40:function(t,n){t.exports=require(\"core-js/modules/web.url.js\")},49:function(t,n,e){\"use strict\";e(16),e(6),e(17),e(18),e(40);var o=e(39),i=(e(14),function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}});n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},5:function(t,n){t.exports=require(\"vue\")},6:function(t,n){t.exports=require(\"core-js/modules/es.object.to-string.js\")},94:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwBC,2BAEE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},95:function(t,n){}})}));\n//# sourceMappingURL=ActionButton.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=107)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],i=!0,a=!1,A=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){a=!0,A=t}finally{try{i||null==r.return||r.return()}finally{if(a)throw A}}return n}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(\"function\"==typeof btoa){var A=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(A),r=\"/*# \".concat(o,\" */\"),s=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var A=0;A<this.length;A++){var o=this[A][0];null!=o&&(a[o]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);i&&a[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),e.push(s))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},A=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),o=[];function r(t){for(var e=-1,n=0;n<o.length;n++)if(o[n].identifier===t){e=n;break}return e}function s(t,e){for(var n={},i=[],a=0;a<t.length;a++){var A=t[a],s=e.base?A[0]+e.base:A[0],l=n[s]||0,c=\"\".concat(s,\" \").concat(l);n[s]=l+1;var u=r(c),d={css:A[1],media:A[2],sourceMap:A[3]};-1!==u?(o[u].references++,o[u].updater(d)):o.push({identifier:c,updater:f(d,e),references:1}),i.push(c)}return i}function l(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var o=A(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(e)}return e}var c,u=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join(\"\\n\")});function d(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=u(e,a);else{var A=document.createTextNode(a),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function g(t,e,n){var i=n.css,a=n.media,A=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),A&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(A)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var m=null,p=0;function f(t,e){var n,i,a;if(e.singleton){var A=p++;n=m||(m=l(e)),i=d.bind(null,n,A,!1),a=d.bind(null,n,A,!0)}else n=l(e),i=g.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=s(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=r(n[i]);o[a].references--}for(var A=s(t,e),l=0;l<n.length;l++){var c=r(n[l]);0===o[c].references&&(o[c].updater(),o.splice(c,1))}n=A}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,A,o,r){var s,l=\"function\"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),A&&(l._scopeId=\"data-v-\"+A),o?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=s):a&&(s=r?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),s)if(l.functional){l._injectStyles=s;var c=l.render;l.render=function(t,e){return s.call(e),c(t,e)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e,n){\"use strict\";e.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,e,n){\"use strict\";e.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return r})),n.d(e,\"a\",(function(){return o}));n(27);var i=n(32),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var A=a.build(),o=A.ngettext.bind(A),r=A.gettext.bind(A)},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(7),a=n(2),A=n.n(a),o=n(23),r={insert:\"head\",singleton:!1};A()(o.a,r),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1;e.default=i.VTooltip},function(t,e){t.exports=require(\"core-js/modules/es.string.trim.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),A=n.n(a),o=n(19),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(3)),l=n(20),c=n.n(l),u=Object(s.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),e(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof c.a&&c()(u);e.a=u.exports},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},function(t,e){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.js\")},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},function(t,e){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,e){t.exports=require(\"core-js/modules/web.url.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,e){t.exports=require(\"v-click-outside\")},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return A.default})),n.d(e,\"d\",(function(){return o.default})),n.d(e,\"e\",(function(){return g}));var i=n(75),a=n(76),A=n(36),o=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),l=n(13),c=n(82),u=n(34);function d(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,A,o,r,d,g,m,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=Object(c.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=3;break}return e.abrupt(\"return\");case 3:if(Object(u.getCurrentUser)()){e.next=5;break}return e.abrupt(\"return\");case 5:return e.prev=5,e.next=8,s.a.get(Object(l.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:a=e.sent,A=a.data,o=A.ocs.data,r=o.status,d=o.message,g=o.icon,n.userStatus.status=r,n.userStatus.message=d||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,e.next=22;break;case 17:if(e.prev=17,e.t0=e.catch(5),404!==e.t0.response.status||0!==(null===(m=e.t0.response.data.ocs)||void 0===m||null===(p=m.data)||void 0===p?void 0:p.length)){e.next=21;break}return e.abrupt(\"return\");case 21:console.error(e.t0);case 22:case\"end\":return e.stop()}}),e,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var A=e.apply(t,n);function o(t){d(A,i,a,o,r,\"next\",t)}function r(t){d(A,i,a,o,r,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,e){t.exports=require(\"linkifyjs/string\")},,,function(t,e){t.exports=require(\"core-js/modules/es.array.filter.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,e){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,e){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return C})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return v}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var i=n(62),a=n.n(i),A=n(48),o=n.n(A),r=n(43),s=n.n(r),l=n(5),c=n.n(l),u=n(13),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(u.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},g=n(2),m=n.n(g),p=n(44),f={insert:\"head\",singleton:!1},h=(m()(p.a,f),p.a.locals,n(3)),b=Object(h.a)(d,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(C).map((function(t){return t.split(v)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=s()(e,\"<div>\"),e=s()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(c.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var A=i.innerHTML;return n.$destroy(),i.remove(),A}}}},function(t,e,n){\"use strict\";var i=n(12);e.a={methods:{n:i.a,t:i.b}}},function(t,e){t.exports=require(\"escape-html\")},function(t,e){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,e,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var A=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),o=1;o<t;o++){var r=parseInt(e.r+A[0]*o,10),s=parseInt(e.g+A[1]*o,10),l=parseInt(e.b+A[2]*o,10);a.push(new i(r,s,l))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),A=new i(0,130,201),o=a(t,e,n),r=a(t,n,A),s=a(t,A,e);return o.concat(r).concat(s)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A),r=n(4),s=n.n(r),l=n(8),c=n(9),u=n(10),d=n(11),g=o()(a.a),m=s()(l.a),p=s()(c.a),f=s()(u.a),h=s()(d.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+p+') format(\"woff\"),url('+f+') format(\"truetype\"),url('+h+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=g},function(t,e){},,,function(t,e){t.exports=require(\"core-js/modules/es.object.keys.js\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),A=0;a>-1&&A<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),A++;return n}},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},,function(t,e,n){\"use strict\";n.r(e);n(15),n(98),n(93),n(24),n(69),n(31),n(51),n(71),n(27),n(72);var i=n(70);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(A(A({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},s=n(3),l=n(78),c=n.n(l),u=Object(s.a)(r,void 0,void 0,!1,null,null,null);\"function\"==typeof c.a&&c()(u);var d=u.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=d},function(t,e,n){\"use strict\";n.r(e);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function i(t,e){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,A=function(){};return{s:A,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:A}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,o=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw o}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var A,o=n.value;if(null!=t&&null!==(A=t.classList)&&void 0!==A&&A.contains(o))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e,n){\"use strict\";n.r(e);n(6),n(26),n(16),n(17),n(18),n(40);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),A=n.n(a),o=n(53),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(54)),l={insert:\"head\",singleton:!1},c=(A()(s.a,l),s.a.locals,n(3)),u={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(c.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var A=t._i(n,null);i.checked?A<0&&t.$set(t.item,\"model\",n.concat([null])):A>-1&&t.$set(t.item,\"model\",n.slice(0,A).concat(n.slice(A+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=n(55),g={insert:\"head\",singleton:!1},m=(A()(d.a,g),d.a.locals,n(56)),p=n.n(m),f=Object(c.a)(u,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,e,n){\"use strict\";n.r(e);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var i=n(86),a=n(42),A=n(77),o=n(34),r=n(29),s=n(37),l=n.n(s),c=n(13),u=n(21),d=n(84),g=n(45),m=n(28);function p(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var A=t.apply(e,n);function o(t){p(A,i,a,o,r,\"next\",t)}function r(t){p(A,i,a,o,r,\"throw\",t)}o(void 0)}))}}var h=Object(i.getBuilder)(\"nextcloud\").persist().build();function b(t){var e=h.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function C(t,e){t&&h.setItem(\"user-has-avatar.\"+t,e)}var v={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{Popover:m.a,PopoverMenu:A.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(o.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(d.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,l.a.post(Object(c.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(c.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(o.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,C(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,C(e.user,!1)},n&&(a.srcset=n),a.src=t}}},B=n(2),y=n.n(B),x=n(65),w={insert:\"head\",singleton:!1},M=(y()(x.a,w),x.a.locals,n(3)),I=n(66),E=n.n(I),k=Object(M.a)(v,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(k);var S=k.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=S},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"9737fff\"),\"\")}))}},function(t,e,n){\"use strict\";n.r(e);n(15),n(92),n(25);var i=n(81),a=n.n(i),A=n(64),o=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(A.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var A in i)n+=i[A];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=o},,function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwOA,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.match.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.reduce.js\")},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AA6HA,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.search.js\")},function(t,e,n){\"use strict\";n.r(e);n(30),n(22);var i=n(80),a=n(74),A=n(45),o={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[A.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},r=n(2),s=n.n(r),l=n(87),c={insert:\"head\",singleton:!1},u=(s()(l.a,c),l.a.locals,n(3)),d=n(88),g=n.n(d),m=Object(u.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof g.a&&g()(m);var p=m.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";n(30),n(24),n(57),n(41),n(31),n(38),n(6),n(46),n(16),n(17),n(18);var i=n(108),a=n.n(i),A=(n(14),n(15),n(79),n(98),n(74)),o=n(70),r={name:\"EllipsisedOption\",components:{Highlight:A.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},s=n(2),l=n.n(s),c=n(96),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,m=n(61),p=n(99),f=n(21);function h(t){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var b={name:\"Multiselect\",components:{EllipsisedOption:g,ListItemIcon:p.default,VueMultiselect:a.a},directives:{tooltip:f.default},mixins:[m.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==h(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===h(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},C=n(97),v=n.n(C),B=Object(d.a)(b,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}}))],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners),[t._v(\" \"),t._v(\" \"),t._v(\" \"),n(\"span\",{attrs:{slot:\"noResult\"},slot:\"noResult\"},[t._v(t._s(t.t(\"No results\")))])])}),[],!1,null,null,null);\"function\"==typeof v.a&&v()(B);e.a=B.exports},,,function(t,e){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".multiselect[data-v-9737fff]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-9737fff]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-9737fff].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-9737fff].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-9737fff].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff].multiselect--disabled,.multiselect[data-v-9737fff].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-9737fff].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-9737fff] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:1px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin-bottom:3px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single *,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__strong,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-9737fff] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-9737fff] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-9737fff] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-9737fff] .multiselect__content-wrapper li,.multiselect[data-v-9737fff] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-9737fff].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-9737fff].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-9737fff]:hover .multiselect__placeholder,.multiselect[data-v-9737fff] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAIA,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,iBAAkB,CAvGtB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 1px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin-bottom: 3px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.r(e);var i=n(83),a=n(100),A=n(2),o=n.n(A),r=n(106),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=68)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var i,a,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);r=!0);}catch(t){s=!0,a=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw a}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(!a)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(a[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);i&&a[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},i=[],a=0;a<t.length;a++){var o=t[a],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:A(p,e),references:1}),i.push(u)}return i}function c(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function p(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=d(e,a);else{var o=document.createTextNode(a),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function m(t,e,n){var i=n.css,a=n.media,o=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var g=null,h=0;function A(t,e){var n,i,a;if(e.singleton){var o=h++;n=g||(g=c(e)),i=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=c(e),i=m.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=s(n[i]);r[a].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var i=n(13),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var o=a.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=n(2),o=n.n(a),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1,i.VTooltip.options.defaultDelay={show:500,hide:200};e.default=i.VTooltip},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),o=n.n(a),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(i,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var i=n(6),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e,n){\"use strict\";var i=n(4);e.a={methods:{n:i.a,t:i.b}}},,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return m}));var i=n(47),a=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function p(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var m={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,o,r,s,p,m,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(i=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:a=e.sent,o=a.data,r=o.ocs.data,s=r.status,p=r.message,m=r.icon,n.userStatus.status=s,n.userStatus.message=p||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var o=e.apply(t,n);function r(t){p(o,i,a,r,s,\"next\",t)}function s(t){p(o,i,a,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;a>-1&&o<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),o++;return n}},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return b})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var i=n(43),a=n.n(i),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),p={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},m=n(2),g=n.n(m),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),f=Object(v.a)(p,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,b=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(b).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,f).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},function(t,e,n){\"use strict\";n.r(e);var i=n(38);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(o(o({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},l=n(3),c=n(45),u=n.n(c),d=Object(l.a)(s,void 0,void 0,!1,null,null,null);\"function\"==typeof u.a&&u()(d);var p=d.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),p=r()(a.a),m=l()(c.a),g=l()(u.a),h=l()(d.a);p.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=p},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);a.push(new i(s,l,c))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),r=a(t,e,n),s=a(t,n,o),l=a(t,o,e);return r.concat(s).concat(l)}},function(t,e){},,function(t,e,n){\"use strict\";function i(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),o=n.n(a),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},p=n(35),m={insert:\"head\",singleton:!1},g=(o()(p.a,m),p.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var i=n(15),a=n.n(i),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),p=n(54),m=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function f(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}function b(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var o=t.apply(e,n);function r(t){f(o,i,a,r,s,\"next\",t)}function s(t){f(o,i,a,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function B(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:m.default,ClickOutside:o.directive},components:{DotsHorizontal:a.a,Popover:v.a,PopoverMenu:p.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(r.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,B(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,B(e.user,!1)},n&&(a.srcset=n),a.src=t}}},k=n(2),w=n.n(k),S=n(41),_={insert:\"head\",singleton:!1},j=(w()(S.a,_),S.a.locals,n(3)),N=n(42),P=n.n(N),E=Object(j.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof P.a&&P()(E);var z=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=z},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var i=n(56),a=n.n(i),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";var i=n(71),a=n.n(i),o=n(40),r=n(38),s={name:\"EllipsisedOption\",components:{Highlight:o.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(r.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},l=n(2),c=n.n(l),u=n(64),d={insert:\"head\",singleton:!1},p=(c()(u.a,d),u.a.locals,n(3)),m=Object(p.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,g=n(22),h=n(67),A=n(11);function v(t){return(v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var f={name:\"Multiselect\",components:{EllipsisedOption:m,ListItemIcon:h.default,VueMultiselect:a.a},directives:{tooltip:A.default},mixins:[g.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==v(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===v(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},b=n(65),C=n.n(b),y=Object(p.a)(f,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[n(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof C.a&&C()(y);e.a=y.exports},function(t,e,n){\"use strict\";n.r(e);var i=n(55),a=n(40),o=n(24),r={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[o.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=n(2),l=n.n(s),c=n(60),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),p=n(61),m=n.n(p),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof m.a&&m()(g);var h=g.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e,n){\"use strict\";n.r(e);var i=n(59),a=n(66),o=n(2),r=n.n(o),s=n(70),l={insert:\"head\",singleton:!1};r()(s.a,l),s.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.encodePath = encodePath;\nexports.basename = basename;\nexports.dirname = dirname;\nexports.joinPaths = joinPaths;\nexports.isSamePath = isSamePath;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/**\n * URI-Encodes a file path but keep the path slashes.\n */\nfunction encodePath(path) {\n if (!path) {\n return path;\n }\n\n return path.split('/').map(encodeURIComponent).join('/');\n}\n/**\n * Returns the base name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"somefile.txt\"\n */\n\n\nfunction basename(path) {\n return path.replace(/\\\\/g, '/').replace(/.*\\//, '');\n}\n/**\n * Returns the dir name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"/abc\"\n */\n\n\nfunction dirname(path) {\n return path.replace(/\\\\/g, '/').replace(/\\/[^\\/]*$/, '');\n}\n/**\n * Join path sections\n */\n\n\nfunction joinPaths(...args) {\n if (arguments.length < 1) {\n return '';\n } // discard empty arguments\n\n\n const nonEmptyArgs = args.filter(arg => arg.length > 0);\n\n if (nonEmptyArgs.length < 1) {\n return '';\n }\n\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === '/';\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === '/';\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split('/')), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === '') {\n return acc;\n }\n\n if (first) {\n first = false;\n return acc + section;\n }\n\n return acc + '/' + section;\n }, '');\n\n if (trailingSlash) {\n // add it back\n return path + '/';\n }\n\n return path;\n}\n/**\n * Returns whether the given paths are the same, without\n * leading, trailing or doubled slashes and also removing\n * the dot sections.\n */\n\n\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || '').split('/').filter(p => p !== '.');\n const pathSections2 = (path2 || '').split('/').filter(p => p !== '.');\n path1 = joinPaths.apply(undefined, pathSections1);\n path2 = joinPaths.apply(undefined, pathSections2);\n return path1 === path2;\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionRadio\",[],n):\"object\"==typeof exports?exports[\"Components/ActionRadio\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionRadio\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=207)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},132:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-047cd0d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-047cd0d4]{background-color:var(--color-background-hover)}.action--disabled[data-v-047cd0d4]{pointer-events:none;opacity:.5}.action--disabled[data-v-047cd0d4]:hover,.action--disabled[data-v-047cd0d4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-047cd0d4]{opacity:1 !important}.action-radio[data-v-047cd0d4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-047cd0d4]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-047cd0d4]{opacity:1}.action-radio__label[data-v-047cd0d4]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-047cd0d4]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-047cd0d4],.action-radio--disabled .action-radio__label[data-v-047cd0d4]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-047cd0d4],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-047cd0d4]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEgHxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDlJoB,CCqJpB,sCACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,iEAUC,SD5Ia,CC6Ib,sCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UDzJiB,CCiJjB,8CAYC,0BAA2B,CAC3B,uGAMA,cAAe,CAvDlB,8KA8DG,SD1Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},133:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,d=\"\".concat(s,\" \").concat(l);e[s]=l+1;var u=c(d),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==u?(r[u].references++,r[u].updater(p)):r.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var d=c(e[l]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}e=a}}}},207:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionRadio\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",t)}}},r=e(2),c=e.n(r),s=e(132),l={insert:\"head\",singleton:!1},d=(c()(s.a,l),s.a.locals,e(3)),u=e(133),p=e.n(u),f=Object(d.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,name:t.name,type:\"radio\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.toggleInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"047cd0d4\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var d=l.render;l.render=function(t,n){return s.call(n),d(t,n)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionRadio.js.map","/*!\n * clipboard.js v2.0.8\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){\"use strict\";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this),this.resolveOptions(t),this.initSelection()}var t,n,r;return t=e,(n=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=\"\"}},{key:\"initSelection\",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:\"createFakeElement\",value:function(){var t=\"rtl\"===document.documentElement.getAttribute(\"dir\");this.fakeElem=document.createElement(\"textarea\"),this.fakeElem.style.fontSize=\"12pt\",this.fakeElem.style.border=\"0\",this.fakeElem.style.padding=\"0\",this.fakeElem.style.margin=\"0\",this.fakeElem.style.position=\"absolute\",this.fakeElem.style[t?\"right\":\"left\"]=\"-9999px\";t=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top=\"\".concat(t,\"px\"),this.fakeElem.setAttribute(\"readonly\",\"\"),this.fakeElem.value=this.text,this.fakeElem}},{key:\"selectFake\",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener(\"click\",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=o()(e),this.copyText(),this.removeFake()}},{key:\"removeFake\",value:function(){this.fakeHandler&&(this.container.removeEventListener(\"click\",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:\"selectTarget\",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:\"copyText\",value:function(){var e;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:\"handleResult\",value:function(t){this.emitter.emit(t?\"success\":\"error\",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:\"clearSelection\",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:\"destroy\",value:function(){this.removeFake()}},{key:\"action\",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:\"copy\";if(this._action=t,\"copy\"!==this._action&&\"cut\"!==this._action)throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"')},get:function(){return this._action}},{key:\"target\",set:function(t){if(void 0!==t){if(!t||\"object\"!==c(t)||1!==t.nodeType)throw new Error('Invalid \"target\" value, use a valid Element');if(\"copy\"===this.action&&t.hasAttribute(\"disabled\"))throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');if(\"cut\"===this.action&&(t.hasAttribute(\"readonly\")||t.hasAttribute(\"disabled\")))throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');this._target=t}},get:function(){return this._target}}])&&u(t.prototype,n),r&&u(t,r),e}();function s(t){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(n){var r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=p(n);return t=r?(t=p(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||\"object\"!==s(t)&&\"function\"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}(e):t}}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){t=\"data-clipboard-\".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var r=function(){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(o,i());var t,e,n,r=d(o);function o(t,e){var n;return function(t){if(!(t instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this),(n=r.call(this)).resolveOptions(e),n.listenClick(t),n}return t=o,n=[{key:\"isSupported\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[\"copy\",\"cut\"],t=\"string\"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=\"function\"==typeof t.action?t.action:this.defaultAction,this.target=\"function\"==typeof t.target?t.target:this.defaultTarget,this.text=\"function\"==typeof t.text?t.text:this.defaultText,this.container=\"object\"===s(t.container)?t.container:document.body}},{key:\"listenClick\",value:function(t){var e=this;this.listener=a()(t,\"click\",function(t){return e.onClick(t)})}},{key:\"onClick\",value:function(t){t=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:\"defaultAction\",value:function(t){return y(\"action\",t)}},{key:\"defaultTarget\",value:function(t){t=y(\"target\",t);if(t)return document.querySelector(t)}},{key:\"defaultText\",value:function(t){return y(\"text\",t)}},{key:\"destroy\",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}])&&f(t.prototype,e),n&&f(t,n),o}()},828:function(t){var e;\"undefined\"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if(\"function\"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var a=n(828);function i(t,e,n,r,o){var i=function(e,n,t,r){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&r.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,o),{destroy:function(){t.removeEventListener(n,i,o)}}}t.exports=function(t,e,n,r,o){return\"function\"==typeof t.addEventListener?i.apply(null,arguments):\"function\"==typeof n?i.bind(null,document).apply(null,arguments):(\"string\"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,r,o)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&(\"[object NodeList]\"===e||\"[object HTMLCollection]\"===e)&&\"length\"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return\"string\"==typeof t||t instanceof String},n.fn=function(t){return\"[object Function]\"===Object.prototype.toString.call(t)}},370:function(t,e,n){var l=n(879),s=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error(\"Missing required arguments\");if(!l.string(e))throw new TypeError(\"Second argument must be a String\");if(!l.fn(n))throw new TypeError(\"Third argument must be a Function\");if(l.node(t))return c=e,u=n,(a=t).addEventListener(c,u),{destroy:function(){a.removeEventListener(c,u)}};if(l.nodeList(t))return r=t,o=e,i=n,Array.prototype.forEach.call(r,function(t){t.addEventListener(o,i)}),{destroy:function(){Array.prototype.forEach.call(r,function(t){t.removeEventListener(o,i)})}};if(l.string(t))return t=t,e=e,n=n,s(document.body,t,e,n);throw new TypeError(\"First argument must be a String, HTMLElement, HTMLCollection, or NodeList\");var r,o,i,a,c,u}},817:function(t){t.exports=function(t){var e,n=\"SELECT\"===t.nodeName?(t.focus(),t.value):\"INPUT\"===t.nodeName||\"TEXTAREA\"===t.nodeName?((e=t.hasAttribute(\"readonly\"))||t.setAttribute(\"readonly\",\"\"),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute(\"readonly\"),t.value):(t.hasAttribute(\"contenteditable\")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;i<a;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},o={},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r(134).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={exports:{}};return n[t](e,e.exports,r),e.exports}var n,o});","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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 coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\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 * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\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 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\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 * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\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 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\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 objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar nativeFetch = getBuiltIn('fetch');\nvar NativeRequest = getBuiltIn('Request');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = getIterator(init, iteratorMethod);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) });\n } else {\n parseSearchParams(\n entries,\n typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init)\n );\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && typeof Headers == 'function') {\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (typeof nativeFetch == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (typeof NativeRequest == 'function') {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestConstructor, 'Request');\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n\nexports.__esModule = true;\n\nvar _linkify = require('./linkify');\n\nvar linkify = _interopRequireWildcard(_linkify);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar tokenize = linkify.tokenize,\n options = linkify.options; /**\n \tConvert strings of text into linkable HTML text\n */\n\nvar Options = options.Options;\n\n\nfunction escapeText(text) {\n\treturn text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction escapeAttr(href) {\n\treturn href.replace(/\"/g, '&quot;');\n}\n\nfunction attributesToString(attributes) {\n\tif (!attributes) {\n\t\treturn '';\n\t}\n\tvar result = [];\n\n\tfor (var attr in attributes) {\n\t\tvar val = attributes[attr] + '';\n\t\tresult.push(attr + '=\"' + escapeAttr(val) + '\"');\n\t}\n\treturn result.join(' ');\n}\n\nfunction linkifyStr(str) {\n\tvar opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\topts = new Options(opts);\n\n\tvar tokens = tokenize(str);\n\tvar result = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\n\t\tif (token.type === 'nl' && opts.nl2br) {\n\t\t\tresult.push('<br>\\n');\n\t\t\tcontinue;\n\t\t} else if (!token.isLink || !opts.check(token)) {\n\t\t\tresult.push(escapeText(token.toString()));\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar _opts$resolve = opts.resolve(token),\n\t\t formatted = _opts$resolve.formatted,\n\t\t formattedHref = _opts$resolve.formattedHref,\n\t\t tagName = _opts$resolve.tagName,\n\t\t className = _opts$resolve.className,\n\t\t target = _opts$resolve.target,\n\t\t attributes = _opts$resolve.attributes;\n\n\t\tvar link = '<' + tagName + ' href=\"' + escapeAttr(formattedHref) + '\"';\n\n\t\tif (className) {\n\t\t\tlink += ' class=\"' + escapeAttr(className) + '\"';\n\t\t}\n\n\t\tif (target) {\n\t\t\tlink += ' target=\"' + escapeAttr(target) + '\"';\n\t\t}\n\n\t\tif (attributes) {\n\t\t\tlink += ' ' + attributesToString(attributes);\n\t\t}\n\n\t\tlink += '>' + escapeText(formatted) + '</' + tagName + '>';\n\t\tresult.push(link);\n\t}\n\n\treturn result.join('');\n}\n\nif (!String.prototype.linkify) {\n\ttry {\n\t\tObject.defineProperty(String.prototype, 'linkify', {\n\t\t\tset: function set() {},\n\t\t\tget: function get() {\n\t\t\t\treturn function linkify(opts) {\n\t\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t} catch (e) {\n\t\t// IE 8 doesn't like Object.defineProperty on non-DOM objects\n\t\tif (!String.prototype.linkify) {\n\t\t\tString.prototype.linkify = function (opts) {\n\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t};\n\t\t}\n\t}\n}\n\nexports.default = linkifyStr;","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _text = require('./tokens/text');\n\nvar TOKENS = _interopRequireWildcard(_text);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n\n\t@module linkify\n\t@submodule scanner\n\t@main scanner\n*/\n\nvar NUMBERS = '0123456789'.split('');\nvar ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nvar WHITESPACE = [' ', '\\f', '\\r', '\\t', '\\v', '\\xA0', '\\u1680', '\\u180E']; // excluding line breaks\n\nvar domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.CharacterState(tokenClass);\n};\n\n// Frequently used states\nvar S_START = makeState();\nvar S_NUM = makeState(_text.NUM);\nvar S_DOMAIN = makeState(_text.DOMAIN);\nvar S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters\nvar S_WS = makeState(_text.WS);\n\n// States for special URL symbols\nS_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '\"', '\\''], makeState(_text.PUNCTUATION));\n\n// Whitespace jumps\n// Tokens of only non-newline whitespace are arbitrarily long\nS_START.on('\\n', makeState(_text.NL)).on(WHITESPACE, S_WS);\n\n// If any whitespace except newline, more whitespace!\nS_WS.on(WHITESPACE, S_WS);\n\n// Generates states for top-level domains\n// Note that this is most accurate when tlds are in alphabetical order\nfor (var i = 0; i < tlds.length; i++) {\n\tvar newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);\n\tdomainStates.push.apply(domainStates, newStates);\n}\n\n// Collect the states generated by different protocls\nvar partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN);\n\n// Add the states to the array of DOMAINeric states\ndomainStates.push.apply(domainStates, partialProtocolFileStates);\ndomainStates.push.apply(domainStates, partialProtocolFtpStates);\ndomainStates.push.apply(domainStates, partialProtocolHttpStates);\ndomainStates.push.apply(domainStates, partialProtocolMailtoStates);\n\n// Protocol states\nvar S_PROTOCOL_FILE = partialProtocolFileStates.pop();\nvar S_PROTOCOL_FTP = partialProtocolFtpStates.pop();\nvar S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();\nvar S_MAILTO = partialProtocolMailtoStates.pop();\nvar S_PROTOCOL_SECURE = makeState(_text.DOMAIN);\nvar S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON\nvar S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON\n\n// Secure protocols (end with 's')\nS_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\nS_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\ndomainStates.push(S_PROTOCOL_SECURE);\n\n// Become protocol tokens after a COLON\nS_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);\nS_MAILTO.on(':', S_FULL_MAILTO);\n\n// Localhost\nvar partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);\ndomainStates.push.apply(domainStates, partialLocalhostStates);\n\n// Everything else\n// DOMAINs make more DOMAINs\n// Number and character transitions\nS_START.on(NUMBERS, S_NUM);\nS_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN\n\nS_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n\n// All the generated states should have a jump to DOMAIN\nfor (var _i = 0; _i < domainStates.length; _i++) {\n\tdomainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n}\n\nS_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN);\n\n// Set default transition\nS_START.defaultTransition = makeState(_text.SYM);\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {String} str Input string to scan\n\t@return {Array} Array of TOKEN instances\n*/\nvar run = function run(str) {\n\n\t// The state machine only looks at lowercase strings.\n\t// This selective `toLowerCase` is used because lowercasing the entire\n\t// string causes the length and character position to vary in some in some\n\t// non-English strings. This happens only on V8-based runtimes.\n\tvar lowerStr = str.replace(/[A-Z]/g, function (c) {\n\t\treturn c.toLowerCase();\n\t});\n\tvar len = str.length;\n\tvar tokens = []; // return value\n\n\tvar cursor = 0;\n\n\t// Tokenize the string\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar nextState = null;\n\t\tvar tokenLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && (nextState = state.next(lowerStr[cursor]))) {\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\ttokenLength++;\n\t\t\tcursor++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\t\t\tcontinue;\n\t\t} // Should never happen\n\n\t\t// Roll back to the latest accepting state\n\t\tcursor -= sinceAccepts;\n\t\ttokenLength -= sinceAccepts;\n\n\t\t// Get the class for the new token\n\t\tvar TOKEN = latestAccepting.emit(); // Current token class\n\n\t\t// No more jumps, just make a new token\n\t\ttokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));\n\t}\n\n\treturn tokens;\n};\n\nvar start = S_START;\nexports.State = _state.CharacterState;\nexports.TOKENS = TOKENS;\nexports.run = run;\nexports.start = start;","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\n\nexports.__esModule = true;\nexports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\nvar _text = require('./text');\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n// Is the given token a valid domain token?\n// Should nums be included here?\nfunction isDomainToken(token) {\n\treturn token instanceof _text.DOMAIN || token instanceof _text.TLD;\n}\n\n/**\n\tAbstract class used for manufacturing tokens of text tokens. That is rather\n\tthan the value for a token being a small string of text, it's value an array\n\tof text tokens.\n\n\tUsed for grouping together URLs, emails, hashtags, and other potential\n\tcreations.\n\n\t@class MultiToken\n\t@abstract\n*/\nvar MultiToken = (0, _createTokenClass.createTokenClass)();\n\nMultiToken.prototype = {\n\t/**\n \tString representing the type for this token\n \t@property type\n \t@default 'TOKEN'\n */\n\ttype: 'token',\n\n\t/**\n \tIs this multitoken a link?\n \t@property isLink\n \t@default false\n */\n\tisLink: false,\n\n\t/**\n \tReturn the string this token represents.\n \t@method toString\n \t@return {String}\n */\n\ttoString: function toString() {\n\t\tvar result = [];\n\t\tfor (var i = 0; i < this.v.length; i++) {\n\t\t\tresult.push(this.v[i].toString());\n\t\t}\n\t\treturn result.join('');\n\t},\n\n\n\t/**\n \tWhat should the value for this token be in the `href` HTML attribute?\n \tReturns the `.toString` value by default.\n \t\t@method toHref\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\treturn this.toString();\n\t},\n\n\n\t/**\n \tReturns a hash of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {String} [protocol] `'http'` by default\n \t@return {Object}\n */\n\ttoObject: function toObject() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue: this.toString(),\n\t\t\thref: this.toHref(protocol)\n\t\t};\n\t}\n};\n\n/**\n\tRepresents an arbitrarily mailto email address with the prefix included\n\t@class MAILTO\n\t@extends MultiToken\n*/\nvar MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true\n});\n\n/**\n\tRepresents a list of tokens making up a valid email address\n\t@class EMAIL\n\t@extends MultiToken\n*/\nvar EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true,\n\ttoHref: function toHref() {\n\t\treturn 'mailto:' + this.toString();\n\t}\n});\n\n/**\n\tRepresents some plain text\n\t@class TEXT\n\t@extends MultiToken\n*/\nvar TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'text' });\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class NL\n\t@extends MultiToken\n*/\nvar NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'nl' });\n\n/**\n\tRepresents a list of tokens making up a valid URL\n\t@class URL\n\t@extends MultiToken\n*/\nvar URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'url',\n\tisLink: true,\n\n\t/**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@method href\n \t@param {String} protocol\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\tvar hasProtocol = false;\n\t\tvar hasSlashSlash = false;\n\t\tvar tokens = this.v;\n\t\tvar result = [];\n\t\tvar i = 0;\n\n\t\t// Make the first part of the domain lowercase\n\t\t// Lowercase protocol\n\t\twhile (tokens[i] instanceof _text.PROTOCOL) {\n\t\t\thasProtocol = true;\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Skip slash-slash\n\t\twhile (tokens[i] instanceof _text.SLASH) {\n\t\t\thasSlashSlash = true;\n\t\t\tresult.push(tokens[i].toString());\n\t\t\ti++;\n\t\t}\n\n\t\t// Lowercase all other characters in the domain\n\t\twhile (isDomainToken(tokens[i])) {\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Leave all other characters as they were written\n\t\tfor (; i < tokens.length; i++) {\n\t\t\tresult.push(tokens[i].toString());\n\t\t}\n\n\t\tresult = result.join('');\n\n\t\tif (!(hasProtocol || hasSlashSlash)) {\n\t\t\tresult = protocol + '://' + result;\n\t\t}\n\n\t\treturn result;\n\t},\n\thasProtocol: function hasProtocol() {\n\t\treturn this.v[0] instanceof _text.PROTOCOL;\n\t}\n});\n\nexports.Base = MultiToken;\nexports.MAILTOEMAIL = MAILTOEMAIL;\nexports.EMAIL = EMAIL;\nexports.NL = NL;\nexports.TEXT = TEXT;\nexports.URL = URL;","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'return', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","module.exports = typeof window == 'object';\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar StorageBuilder =\n/*#__PURE__*/\nfunction () {\n function StorageBuilder(appId) {\n _classCallCheck(this, StorageBuilder);\n\n _defineProperty(this, \"appId\", void 0);\n\n _defineProperty(this, \"persisted\", false);\n\n _defineProperty(this, \"clearedOnLogout\", false);\n\n this.appId = appId;\n }\n\n _createClass(StorageBuilder, [{\n key: \"persist\",\n value: function persist() {\n var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.persisted = _persist;\n return this;\n }\n }, {\n key: \"clearOnLogout\",\n value: function clearOnLogout() {\n var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n }]);\n\n return StorageBuilder;\n}();\n\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","import valid from \"semver/functions/valid\";\nimport major from \"semver/functions/major\";\n\nimport packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class ProxyBus implements EventBus {\n\n private bus: EventBus;\n\n constructor(bus: EventBus) {\n if (typeof bus.getVersion !== 'function' || !valid(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version')\n } else if (major(bus.getVersion()) !== major(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion())\n }\n\n this.bus = bus;\n }\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.bus.subscribe(name, handler);\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.bus.unsubscribe(name, handler);\n }\n\n emit(name: string, event: Event): void {\n this.bus.emit(name, event);\n }\n\n}\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","import packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class SimpleBus implements EventBus {\n\n private handlers = new Map<string, EventHandler[]>();\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(h => h != handler));\n }\n\n emit(name: string, event: Event): void {\n (this.handlers.get(name) || []).forEach(h => {\n try {\n h(event)\n } catch (e) {\n console.error('could not invoke event listener', e)\n }\n })\n }\n\n}\n","/**\n *\n *\n * @author Jerry Bendy <jerry@icewingcc.com>\n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLoggerBuilder = getLoggerBuilder;\nexports.getLogger = getLogger;\n\nvar _ConsoleLogger = require(\"./ConsoleLogger\");\n\nvar _LoggerBuilder = require(\"./LoggerBuilder\");\n\n/**\n * Build a customized logger instance\n */\nfunction getLoggerBuilder() {\n return new _LoggerBuilder.LoggerBuilder(_ConsoleLogger.buildConsoleLogger);\n}\n/**\n * Get a default logger instance without any configuration\n */\n\n\nfunction getLogger() {\n return getLoggerBuilder().build();\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.buildConsoleLogger = buildConsoleLogger;\nexports.ConsoleLogger = void 0;\n\nvar _contracts = require(\"./contracts\");\n\nclass ConsoleLogger {\n constructor(context) {\n this.context = context;\n }\n\n formatMessage(message, level, context) {\n let msg = '[' + level + ']';\n\n if (context && context.app) {\n msg += ' ' + context.app + ': ';\n }\n\n return msg + message;\n }\n\n log(level, message, context) {\n switch (level) {\n case 0:\n console.debug(this.formatMessage(message, _contracts.LogLevel.Debug, context), context);\n break;\n\n case 1:\n console.info(this.formatMessage(message, _contracts.LogLevel.Info, context), context);\n break;\n\n case 2:\n console.warn(this.formatMessage(message, _contracts.LogLevel.Warn, context), context);\n break;\n\n case 3:\n console.error(this.formatMessage(message, _contracts.LogLevel.Error, context), context);\n break;\n\n default:\n console.error(this.formatMessage(message, _contracts.LogLevel.Fatal, context), context);\n break;\n }\n }\n\n debug(message, context) {\n this.log(0, message, Object.assign({}, this.context, context));\n }\n\n info(message, context) {\n this.log(1, message, Object.assign({}, this.context, context));\n }\n\n warn(message, context) {\n this.log(2, message, Object.assign({}, this.context, context));\n }\n\n error(message, context) {\n this.log(3, message, Object.assign({}, this.context, context));\n }\n\n fatal(message, context) {\n this.log(4, message, Object.assign({}, this.context, context));\n }\n\n}\n\nexports.ConsoleLogger = ConsoleLogger;\n\nfunction buildConsoleLogger(context) {\n return new ConsoleLogger(context);\n}\n//# sourceMappingURL=ConsoleLogger.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogLevel = void 0;\nlet LogLevel;\nexports.LogLevel = LogLevel;\n\n(function (LogLevel) {\n LogLevel[\"Debug\"] = \"DEBUG\";\n LogLevel[\"Info\"] = \"INFO\";\n LogLevel[\"Warn\"] = \"WARN\";\n LogLevel[\"Error\"] = \"ERROR\";\n LogLevel[\"Fatal\"] = \"FATAL\";\n})(LogLevel || (exports.LogLevel = LogLevel = {}));\n//# sourceMappingURL=contracts.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoggerBuilder = void 0;\n\nvar _auth = require(\"@nextcloud/auth\");\n\nclass LoggerBuilder {\n constructor(factory) {\n this.context = {};\n this.factory = factory;\n }\n\n setApp(appId) {\n this.context.app = appId;\n return this;\n }\n\n setUid(uid) {\n this.context.uid = uid;\n return this;\n }\n\n detectUser() {\n const user = (0, _auth.getCurrentUser)();\n\n if (user !== null) {\n this.context.uid = user.uid;\n }\n\n return this;\n }\n\n build() {\n return this.factory(this.context);\n }\n\n}\n\nexports.LoggerBuilder = LoggerBuilder;\n//# sourceMappingURL=LoggerBuilder.js.map","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Config {\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn document.getElementById('filestable')\n\t\t\t&& document.getElementById('filestable').dataset.allowPublicUpload === 'yes'\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default link share expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default internal expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultInternalExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultInternalExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default remote expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultRemoteExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultRemoteExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is internal shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is remote shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new internal shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\t// eslint-disable-next-line camelcase\n\t\treturn capabilities?.files_sharing?.sharebymail !== undefined\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\t&& capabilities?.files_sharing?.public?.enabled === true\n\t}\n\n\t/**\n\t * Get the default days to link shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Get the default days to internal shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpireDate() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDate\n\t}\n\n\t/**\n\t * Get the default days to remote shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpireDate() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (OC.getCapabilities().files_sharing.sharebymail === undefined) ? false : OC.getCapabilities().files_sharing.sharebymail.password.enforced\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget shouldAlwaysShowUnique() {\n\t\treturn (OC.getCapabilities().files_sharing?.sharee?.always_show_unique === true)\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 25\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @returns {Object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\treturn capabilities.password_policy ? capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Share {\n\n\t_share;\n\n\t/**\n\t * Create the share object\n\t *\n\t * @param {Object} ocsData ocs request response\n\t */\n\tconstructor(ocsData) {\n\t\tif (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n\t\t\tocsData = ocsData.ocs.data[0]\n\t\t}\n\n\t\t// convert int into boolean\n\t\tocsData.hide_download = !!ocsData.hide_download\n\t\tocsData.mail_send = !!ocsData.mail_send\n\n\t\t// store state\n\t\tthis._share = ocsData\n\t}\n\n\t/**\n\t * Get the share state\n\t * ! used for reactivity purpose\n\t * Do not remove. It allow vuejs to\n\t * inject its watchers into the #share\n\t * state and make the whole class reactive\n\t *\n\t * @returns {Object} the share raw state\n\t * @readonly\n\t * @memberof Sidebar\n\t */\n\tget state() {\n\t\treturn this._share\n\t}\n\n\t/**\n\t * get the share id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget id() {\n\t\treturn this._share.id\n\t}\n\n\t/**\n\t * Get the share type\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget type() {\n\t\treturn this._share.share_type\n\t}\n\n\t/**\n\t * Get the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget permissions() {\n\t\treturn this._share.permissions\n\t}\n\n\t/**\n\t * Set the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @param {int} permissions valid permission, See OC.PERMISSION_* variables\n\t * @memberof Share\n\t */\n\tset permissions(permissions) {\n\t\tthis._share.permissions = permissions\n\t}\n\n\t// SHARE OWNER --------------------------------------------------\n\t/**\n\t * Get the share owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget owner() {\n\t\treturn this._share.uid_owner\n\t}\n\n\t/**\n\t * Get the share owner's display name\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget ownerDisplayName() {\n\t\treturn this._share.displayname_owner\n\t}\n\n\t// SHARED WITH --------------------------------------------------\n\t/**\n\t * Get the share with entity uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWith() {\n\t\treturn this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayName() {\n\t\treturn this._share.share_with_displayname\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Unique display name in case of multiple\n\t * duplicates results with the same name.\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayNameUnique() {\n\t\treturn this._share.share_with_displayname_unique\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithLink() {\n\t\treturn this._share.share_with_link\n\t}\n\n\t/**\n\t * Get the share with avatar if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithAvatar() {\n\t\treturn this._share.share_with_avatar\n\t}\n\n\t// SHARED FILE OR FOLDER OWNER ----------------------------------\n\t/**\n\t * Get the shared item owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget uidFileOwner() {\n\t\treturn this._share.uid_file_owner\n\t}\n\n\t/**\n\t * Get the shared item display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget displaynameFileOwner() {\n\t\treturn this._share.displayname_file_owner\n\t\t\t|| this._share.uid_file_owner\n\t}\n\n\t// TIME DATA ----------------------------------------------------\n\t/**\n\t * Get the share creation timestamp\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget createdTime() {\n\t\treturn this._share.stime\n\t}\n\n\t/**\n\t * Get the expiration date as a string format\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget expireDate() {\n\t\treturn this._share.expiration\n\t}\n\n\t/**\n\t * Set the expiration date as a string format\n\t * e.g. YYYY-MM-DD\n\t *\n\t * @param {string} date the share expiration date\n\t * @memberof Share\n\t */\n\tset expireDate(date) {\n\t\tthis._share.expiration = date\n\t}\n\n\t// EXTRA DATA ---------------------------------------------------\n\t/**\n\t * Get the public share token\n\t *\n\t * @returns {string} the token\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget token() {\n\t\treturn this._share.token\n\t}\n\n\t/**\n\t * Get the share note if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget note() {\n\t\treturn this._share.note\n\t}\n\n\t/**\n\t * Set the share note if any\n\t *\n\t * @param {string} note the note\n\t * @memberof Share\n\t */\n\tset note(note) {\n\t\tthis._share.note = note\n\t}\n\n\t/**\n\t * Get the share label if any\n\t * Should only exist on link shares\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget label() {\n\t\treturn this._share.label\n\t}\n\n\t/**\n\t * Set the share label if any\n\t * Should only be set on link shares\n\t *\n\t * @param {string} label the label\n\t * @memberof Share\n\t */\n\tset label(label) {\n\t\tthis._share.label = label\n\t}\n\n\t/**\n\t * Have a mail been sent\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mailSend() {\n\t\treturn this._share.mail_send === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hideDownload() {\n\t\treturn this._share.hide_download === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @param {boolean} state hide the button ?\n\t * @memberof Share\n\t */\n\tset hideDownload(state) {\n\t\tthis._share.hide_download = state === true\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget password() {\n\t\treturn this._share.password\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @param {string} password the share password\n\t * @memberof Share\n\t */\n\tset password(password) {\n\t\tthis._share.password = password\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @returns {Boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget sendPasswordByTalk() {\n\t\treturn this._share.send_password_by_talk\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @param {Boolean} sendPasswordByTalk whether to send the password by Talk\n\t * or not\n\t * @memberof Share\n\t */\n\tset sendPasswordByTalk(sendPasswordByTalk) {\n\t\tthis._share.send_password_by_talk = sendPasswordByTalk\n\t}\n\n\t// SHARED ITEM DATA ---------------------------------------------\n\t/**\n\t * Get the shared item absolute full path\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget path() {\n\t\treturn this._share.path\n\t}\n\n\t/**\n\t * Return the item type: file or folder\n\t *\n\t * @returns {string} 'folder' or 'file'\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget itemType() {\n\t\treturn this._share.item_type\n\t}\n\n\t/**\n\t * Get the shared item mimetype\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mimetype() {\n\t\treturn this._share.mimetype\n\t}\n\n\t/**\n\t * Get the shared item id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileSource() {\n\t\treturn this._share.file_source\n\t}\n\n\t/**\n\t * Get the target path on the receiving end\n\t * e.g the file /xxx/aaa will be shared in\n\t * the receiving root as /aaa, the fileTarget is /aaa\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileTarget() {\n\t\treturn this._share.file_target\n\t}\n\n\t/**\n\t * Get the parent folder id if any\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileParent() {\n\t\treturn this._share.file_parent\n\t}\n\n\t// PERMISSIONS Shortcuts\n\n\t/**\n\t * Does this share have READ permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasReadPermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_READ))\n\t}\n\n\t/**\n\t * Does this share have CREATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasCreatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_CREATE))\n\t}\n\n\t/**\n\t * Does this share have DELETE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDeletePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_DELETE))\n\t}\n\n\t/**\n\t * Does this share have UPDATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasUpdatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_UPDATE))\n\t}\n\n\t/**\n\t * Does this share have SHARE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasSharePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_SHARE))\n\t}\n\n\t// PERMISSIONS Shortcuts for the CURRENT USER\n\t// ! the permissions above are the share settings,\n\t// ! meaning the permissions for the recipient\n\t/**\n\t * Can the current user EDIT this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canEdit() {\n\t\treturn this._share.can_edit === true\n\t}\n\n\t/**\n\t * Can the current user DELETE this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canDelete() {\n\t\treturn this._share.can_delete === true\n\t}\n\n\t/**\n\t * Top level accessible shared folder fileid for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaFileid() {\n\t\treturn this._share.via_fileid\n\t}\n\n\t/**\n\t * Top level accessible shared folder path for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaPath() {\n\t\treturn this._share.via_path\n\t}\n\n\t// TODO: SORT THOSE PROPERTIES\n\n\tget parent() {\n\t\treturn this._share.parent\n\t}\n\n\tget storageId() {\n\t\treturn this._share.storage_id\n\t}\n\n\tget storage() {\n\t\treturn this._share.storage\n\t}\n\n\tget itemSource() {\n\t\treturn this._share.item_source\n\t}\n\n\tget status() {\n\t\treturn this._share.status\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_DECK: OC.Share.SHARE_TYPE_DECK,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\n\t\t}\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div v-tooltip=\"tooltip\" class=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<Actions v-if=\"$slots['default']\" menu-align=\"right\" class=\"sharing-entry__actions\">\n\t\t\t<slot />\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tActions,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\th5 {\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: inherit;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=1436bf4a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=1436bf4a&scoped=true&\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=1436bf4a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1436bf4a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"sharing-entry__desc\"},[_c('h5',[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"}},[_vm._t(\"default\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n\t<SharingEntrySimple\n\t\tclass=\"sharing-entry__internal\"\n\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t<template #avatar>\n\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t</template>\n\n\t\t<ActionLink ref=\"copyButton\"\n\t\t\t:href=\"internalLink\"\n\t\t\ttarget=\"_blank\"\n\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t@click.prevent=\"copyLink\">\n\t\t\t{{ clipboardTooltip }}\n\t\t</ActionLink>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport SharingEntrySimple from './SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tActionLink,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t * @returns {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for users with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for users with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.internalLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=8239c8d6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=8239c8d6&scoped=true&\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=8239c8d6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8239c8d6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionLink',{ref:\"copyButton\",attrs:{\"href\":_vm.internalLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport Config from '../services/ConfigService'\n\nconst config = new Config()\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789'\n\n/**\n * Generate a valid policy password or\n * request a valid password if password_policy\n * is enabled\n *\n * @returns {string} a valid password\n */\nexport default async function() {\n\t// password policy is enabled, let's request a pass\n\tif (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n\t\ttry {\n\t\t\tconst request = await axios.get(config.passwordPolicy.api.generate)\n\t\t\tif (request.data.ocs.data.password) {\n\t\t\t\treturn request.data.ocs.data.password\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.info('Error generating password from password_policy', error)\n\t\t}\n\t}\n\n\t// generate password of 10 length based on passwordSet\n\treturn Array(10).fill(0)\n\t\t.reduce((prev, curr) => {\n\t\t\tprev += passwordSet.charAt(Math.floor(Math.random() * passwordSet.length))\n\t\t\treturn prev\n\t\t}, '')\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\nconst headers = {\n\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n}\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {Object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload=false] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions=31] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk=false] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate=''] expire the shareautomatically after\n\t\t * @param {string} [data.label=''] custom label\n\t\t * @returns {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn new Share(request.data.ocs.data)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {Object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties, headers)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' }\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Multiselect ref=\"multiselect\"\n\t\tclass=\"sharing-input\"\n\t\t:clear-on-select=\"true\"\n\t\t:disabled=\"!canReshare\"\n\t\t:hide-selected=\"true\"\n\t\t:internal-search=\"false\"\n\t\t:loading=\"loading\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"inputPlaceholder\"\n\t\t:preselect-first=\"true\"\n\t\t:preserve-search=\"true\"\n\t\t:searchable=\"true\"\n\t\t:user-select=\"true\"\n\t\topen-direction=\"below\"\n\t\tlabel=\"displayName\"\n\t\ttrack-by=\"id\"\n\t\t@search-change=\"asyncFind\"\n\t\t@select=\"addShare\">\n\t\t<template #noOptions>\n\t\t\t{{ t('files_sharing', 'No recommendations. Start typing.') }}\n\t\t</template>\n\t\t<template #noResult>\n\t\t\t{{ noResultText }}\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\n\nimport Config from '../services/ConfigService'\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport ShareRequests from '../mixins/ShareRequests'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\n\tmixins: [ShareTypes, ShareRequests],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.getRecommendations()\n\t},\n\n\tmethods: {\n\t\tasync asyncFind(query, id) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup=false] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (OC.getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tconst shareType = [\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_CIRCLE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_ROOM,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GUEST,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_DECK,\n\t\t\t]\n\n\t\t\tif (OC.getCapabilities().files_sharing.public.enabled === true) {\n\t\t\t\tshareType.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurances of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {Object[]} shares the array of shares object\n\t\t * @returns {Object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t * @param {number} type the share type\n\t\t * @returns {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\t// default is a user, other icons are here to differenciate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_REMOTE:\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn 'icon-user'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn 'icon-group'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn 'icon-mail'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn 'icon-circle'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn 'icon-room'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn 'icon-deck'\n\n\t\t\tdefault:\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t * @param {Object} result select entry item\n\t\t * @returns {Object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subtitle\n\t\t\tif (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubtitle = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t\t|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t\t) && result.value.server) {\n\t\t\t\tsubtitle = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tsubtitle = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubtitle = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: `${result.value.shareType}-${result.value.shareWith}`,\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubtitle,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\ticon: this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the new share request\n\t\t * @param {Object} value the multiselect option\n\t\t */\n\t\tasync addShare(value) {\n\t\t\tif (value.lookup) {\n\t\t\t\tawait this.getSuggestions(this.query, true)\n\n\t\t\t\t// focus the input again\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.$refs.multiselect.$el.querySelector('.multiselect__input').focus()\n\t\t\t\t})\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\tif (value.handler) {\n\t\t\t\tconst share = await value.handler(this)\n\t\t\t\tthis.$emit('add:share', new Share(share))\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tconsole.debug('Adding a new share from the input for', value)\n\t\t\ttry {\n\t\t\t\tlet password = null\n\n\t\t\t\tif (this.config.enforcePasswordForPublicLink\n\t\t\t\t\t&& value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tpassword = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst share = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: value.shareType,\n\t\t\t\t\tshareWith: value.shareWith,\n\t\t\t\t\tpassword,\n\t\t\t\t\tpermissions: this.fileInfo.sharePermissions & OC.getCapabilities().files_sharing.default_permissions,\n\t\t\t\t})\n\n\t\t\t\t// If we had a password, we need to show it to the user as it was generated\n\t\t\t\tif (password) {\n\t\t\t\t\tshare.newPassword = password\n\t\t\t\t\t// Wait for the newly added share\n\t\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t\t})\n\n\t\t\t\t\t// open the menu on the\n\t\t\t\t\t// freshly created share component\n\t\t\t\t\tcomponent.open = true\n\t\t\t\t} else {\n\t\t\t\t\t// Else we just add it normally\n\t\t\t\t\tthis.$emit('add:share', share)\n\t\t\t\t}\n\n\t\t\t\t// reset the search string when done\n\t\t\t\t// FIXME: https://github.com/shentao/vue-multiselect/issues/633\n\t\t\t\tif (this.$refs.multiselect?.$refs?.VueMultiselect?.search) {\n\t\t\t\t\tthis.$refs.multiselect.$refs.VueMultiselect.search = ''\n\t\t\t\t}\n\n\t\t\t\tawait this.getRecommendations()\n\t\t\t} catch (error) {\n\t\t\t\t// focus back if any error\n\t\t\t\tconst input = this.$refs.multiselect.$el.querySelector('input')\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t\tthis.query = value.shareWith\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-input {\n\twidth: 100%;\n\tmargin: 10px 0;\n\n\t// properly style the lookup entry\n\t.multiselect__option {\n\t\tspan[lookup] {\n\t\t\t.avatardiv {\n\t\t\t\tbackground-image: var(--icon-search-fff);\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t\tdiv {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=0d598a04&\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{ref:\"multiselect\",staticClass:\"sharing-input\",attrs:{\"clear-on-select\":true,\"disabled\":!_vm.canReshare,\"hide-selected\":true,\"internal-search\":false,\"loading\":_vm.loading,\"options\":_vm.options,\"placeholder\":_vm.inputPlaceholder,\"preselect-first\":true,\"preserve-search\":true,\"searchable\":true,\"user-select\":true,\"open-direction\":\"below\",\"label\":\"displayName\",\"track-by\":\"id\"},on:{\"search-change\":_vm.asyncFind,\"select\":_vm.addShare},scopedSlots:_vm._u([{key:\"noOptions\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\")]},proxy:true},{key:\"noResult\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.noResultText)+\"\\n\\t\")]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\nexport default function pTimeout(promise, milliseconds, fallback, options) {\n\tlet timer;\n\tconst cancelablePromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || milliseconds < 0) {\n\t\t\tthrow new TypeError('Expected `milliseconds` to be a positive number');\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tresolve(promise);\n\t\t\treturn;\n\t\t}\n\n\t\toptions = {\n\t\t\tcustomTimers: {setTimeout, clearTimeout},\n\t\t\t...options\n\t\t};\n\n\t\ttimer = options.customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (typeof fallback === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst message = typeof fallback === 'string' ? fallback : `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\tconst timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\treject(timeoutError);\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t} finally {\n\t\t\t\toptions.customTimers.clearTimeout.call(undefined, timer);\n\t\t\t}\n\t\t})();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n constructor() {\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n enqueue(run, options) {\n var _a;\n options = {\n priority: 0,\n ...options\n };\n const element = {\n priority: options.priority,\n run\n };\n if (this.size && ((_a = this._queue[this.size - 1]) === null || _a === void 0 ? void 0 : _a.priority) >= options.priority) {\n this._queue.push(element);\n return;\n }\n const index = lowerBound(this._queue, element, (a, b) => b.priority - a.priority);\n this._queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this._queue.shift();\n return item === null || item === void 0 ? void 0 : item.run;\n }\n filter(options) {\n return this._queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this._queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import EventEmitter from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst empty = () => { };\nconst timeoutError = new TimeoutError();\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n constructor(options) {\n var _a, _b, _c, _d;\n super();\n Object.defineProperty(this, \"_carryoverConcurrencyCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isIntervalIgnored\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalCap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_interval\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalEnd\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_timeoutId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queueClass\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_pendingCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n Object.defineProperty(this, \"_concurrency\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isPaused\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_resolveEmpty\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_resolveIdle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_timeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_throwOnTimeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${(_b = (_a = options.intervalCap) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${(_d = (_c = options.interval) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : ''}\\` (${typeof options.interval})`);\n }\n this._carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this._isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this._intervalCap = options.intervalCap;\n this._interval = options.interval;\n this._queue = new options.queueClass();\n this._queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this._timeout = options.timeout;\n this._throwOnTimeout = options.throwOnTimeout === true;\n this._isPaused = options.autoStart === false;\n }\n get _doesIntervalAllowAnother() {\n return this._isIntervalIgnored || this._intervalCount < this._intervalCap;\n }\n get _doesConcurrentAllowAnother() {\n return this._pendingCount < this._concurrency;\n }\n _next() {\n this._pendingCount--;\n this._tryToStartAnother();\n this.emit('next');\n }\n _resolvePromises() {\n this._resolveEmpty();\n this._resolveEmpty = empty;\n if (this._pendingCount === 0) {\n this._resolveIdle();\n this._resolveIdle = empty;\n this.emit('idle');\n }\n }\n _onResumeInterval() {\n this._onInterval();\n this._initializeIntervalIfNeeded();\n this._timeoutId = undefined;\n }\n _isIntervalPaused() {\n const now = Date.now();\n if (this._intervalId === undefined) {\n const delay = this._intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this._intervalCount = (this._carryoverConcurrencyCount) ? this._pendingCount : 0;\n }\n else {\n // Act as the interval is pending\n if (this._timeoutId === undefined) {\n this._timeoutId = setTimeout(() => {\n this._onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n _tryToStartAnother() {\n if (this._queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this._intervalId) {\n clearInterval(this._intervalId);\n }\n this._intervalId = undefined;\n this._resolvePromises();\n return false;\n }\n if (!this._isPaused) {\n const canInitializeInterval = !this._isIntervalPaused();\n if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) {\n const job = this._queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this._initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n _initializeIntervalIfNeeded() {\n if (this._isIntervalIgnored || this._intervalId !== undefined) {\n return;\n }\n this._intervalId = setInterval(() => {\n this._onInterval();\n }, this._interval);\n this._intervalEnd = Date.now() + this._interval;\n }\n _onInterval() {\n if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = undefined;\n }\n this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;\n this._processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n _processQueue() {\n // eslint-disable-next-line no-empty\n while (this._tryToStartAnother()) { }\n }\n get concurrency() {\n return this._concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this._concurrency = newConcurrency;\n this._processQueue();\n }\n /**\n Adds a sync or async task to the queue. Always returns a promise.\n */\n async add(fn, options = {}) {\n return new Promise((resolve, reject) => {\n const run = async () => {\n this._pendingCount++;\n this._intervalCount++;\n try {\n const operation = (this._timeout === undefined && options.timeout === undefined) ? fn() : pTimeout(Promise.resolve(fn()), (options.timeout === undefined ? this._timeout : options.timeout), () => {\n if (options.throwOnTimeout === undefined ? this._throwOnTimeout : options.throwOnTimeout) {\n reject(timeoutError);\n }\n return undefined;\n });\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n reject(error);\n this.emit('error', error);\n }\n this._next();\n };\n this._queue.enqueue(run, options);\n this._tryToStartAnother();\n this.emit('add');\n });\n }\n /**\n Same as `.add()`, but accepts an array of sync or async functions.\n\n @returns A promise that resolves when all functions are resolved.\n */\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this._isPaused) {\n return this;\n }\n this._isPaused = false;\n this._processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this._isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this._queue = new this._queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveEmpty;\n this._resolveEmpty = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this._queue.size < limit) {\n return;\n }\n return new Promise(resolve => {\n const listener = () => {\n if (this._queue.size < limit) {\n this.removeListener('next', listener);\n resolve();\n }\n };\n this.on('next', listener);\n });\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this._pendingCount === 0 && this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveIdle;\n this._resolveIdle = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this._queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this._queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this._pendingCount;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this._isPaused;\n }\n get timeout() {\n return this._timeout;\n }\n /**\n Set the timeout for future operations.\n */\n set timeout(milliseconds) {\n this._timeout = milliseconds;\n }\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport PQueue from 'p-queue/dist/index'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share'\nimport SharesRequests from './ShareRequests'\nimport ShareTypes from './ShareTypes'\nimport Config from '../services/ConfigService'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t * @returns {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn moment().add(1, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Datepicker lang values\n\t\t * https://github.com/nextcloud/nextcloud-vue/pull/146\n\t\t * TODO: have this in vue-components\n\t\t *\n\t\t * @returns {int}\n\t\t */\n\t\tfirstDay() {\n\t\t\treturn window.firstDay\n\t\t\t\t? window.firstDay\n\t\t\t\t: 0 // sunday as default\n\t\t},\n\t\tlang() {\n\t\t\t// fallback to default in case of unavailable data\n\t\t\treturn {\n\t\t\t\tdays: window.dayNamesShort\n\t\t\t\t\t? window.dayNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'],\n\t\t\t\tmonths: window.monthNamesShort\n\t\t\t\t\t? window.monthNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'],\n\t\t\t\tplaceholder: {\n\t\t\t\t\tdate: 'Select Date', // TODO: Translate\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @returns {Boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = moment(share.expirationDate)\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * ActionInput can be a little tricky to work with.\n\t\t * Since we expect a string and not a Date,\n\t\t * we need to process the value here\n\t\t *\n\t\t * @param {Date} date js date to be parsed by moment.js\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\t// format to YYYY-MM-DD\n\t\t\tconst value = moment(date).format('YYYY-MM-DD')\n\t\t\tthis.share.expireDate = value\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t * @param {String} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t * @param {string} note the note\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {string} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.map(p => (properties[p] = this.share[p].toString()))\n\n\t\t\t\tthis.updateQueue.add(async() => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\n\t\t\t\t\t} catch ({ message }) {\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconsole.error('Cannot update share.', this.share, 'No valid id')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\n\t\t/**\n\t\t * Returns which dates are disabled for the datepicker\n\t\t * @param {Date} date date to check\n\t\t * @returns {boolean}\n\t\t */\n\t\tdisabledDate(date) {\n\t\t\tconst dateMoment = moment(date)\n\t\t\treturn (this.dateTomorrow && dateMoment.isBefore(this.dateTomorrow, 'day'))\n\t\t\t\t|| (this.dateMaxEnforced && dateMoment.isSameOrAfter(this.dateMaxEnforced, 'day'))\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<SharingEntrySimple\n\t\t:key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<Avatar\n\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\ttooltip-message=\"\" />\n\t\t</template>\n\t\t<ActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</ActionText>\n\t\t<ActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</ActionLink>\n\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</actionbutton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tActionLink,\n\t\tActionText,\n\t\tAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=c58e421a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=c58e421a&scoped=true&\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=c58e421a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c58e421a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":\"\"}})]},proxy:true}])},[_vm._v(\" \"),_c('ActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('ActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple\n\t\t\tclass=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<ActionButton :icon=\"showInheritedSharesIcon\" @click.prevent.stop=\"toggleInheritedShares\">\n\t\t\t\t{{ toggleTooltip }}\n\t\t\t</ActionButton>\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share'\nimport SharingEntryInherited from '../components/SharingEntryInherited'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other users with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=1c2059ae&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=1c2059ae&scoped=true&\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=1c2059ae&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c2059ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.toggleTooltip)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li :class=\"{'sharing-entry--share': share}\" class=\"sharing-entry sharing-entry__link\">\n\t\t<Avatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<h5 :title=\"title\">\n\t\t\t\t{{ title }}\n\t\t\t</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\n\t\t<!-- clipboard -->\n\t\t<Actions v-if=\"share && !isEmailShareType && share.token\"\n\t\t\tref=\"copyButton\"\n\t\t\tclass=\"sharing-entry__copy\">\n\t\t\t<ActionLink :href=\"shareLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t\t@click.stop.prevent=\"copyLink\">\n\t\t\t\t{{ clipboardTooltip }}\n\t\t\t</ActionLink>\n\t\t</Actions>\n\n\t\t<!-- pending actions -->\n\t\t<Actions v-if=\"!pending && (pendingPassword || pendingExpirationDate)\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onNewLinkShare\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<ActionText v-if=\"errors.pending\"\n\t\t\t\ticon=\"icon-error\"\n\t\t\t\t:class=\"{ error: errors.pending}\">\n\t\t\t\t{{ errors.pending }}\n\t\t\t</ActionText>\n\t\t\t<ActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</ActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<ActionText v-if=\"pendingPassword\" icon=\"icon-password\">\n\t\t\t\t{{ t('files_sharing', 'Password protection (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionCheckbox v-else-if=\"config.enableLinkPasswordByDefault\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ t('files_sharing', 'Password protection') }}\n\t\t\t</ActionCheckbox>\n\t\t\t<ActionInput v-if=\"pendingPassword || share.password\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\tshow: errors.password,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\ticon=\"\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t</ActionInput>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<ActionText v-if=\"pendingExpirationDate\" icon=\"icon-calendar-dark\">\n\t\t\t\t{{ t('files_sharing', 'Expiration date (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionInput v-if=\"pendingExpirationDate\"\n\t\t\t\tv-model=\"share.expireDate\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t:lang=\"lang\"\n\t\t\t\ticon=\"\"\n\t\t\t\ttype=\"date\"\n\t\t\t\tvalue-type=\"format\"\n\t\t\t\t:disabled-date=\"disabledDate\">\n\t\t\t\t<!-- let's not submit when picked, the user\n\t\t\t\t\tmight want to still edit or copy the password -->\n\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t</ActionInput>\n\n\t\t\t<ActionButton icon=\"icon-checkmark\" @click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</ActionButton>\n\t\t\t<ActionButton icon=\"icon-close\" @click.prevent.stop=\"onCancel\">\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- actions -->\n\t\t<Actions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<!-- Custom Label -->\n\t\t\t\t\t<ActionInput\n\t\t\t\t\t\tref=\"label\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.label,\n\t\t\t\t\t\t\tshow: errors.label,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.label }\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value=\"share.newLabel !== undefined ? share.newLabel : share.label\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\tmaxlength=\"255\"\n\t\t\t\t\t\t@update:value=\"onLabelChange\"\n\t\t\t\t\t\t@submit=\"onLabelSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Share label') }}\n\t\t\t\t\t</ActionInput>\n\t\t\t\t\t<!-- folder -->\n\t\t\t\t\t<template v-if=\"isFolder && fileHasCreatePermission && config.isPublicUploadEnabled\">\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRValue\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read only') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__action--public-upload\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'File drop (upload only)') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<!-- file -->\n\t\t\t\t\t<ActionCheckbox v-else\n\t\t\t\t\t\t:checked.sync=\"canUpdate\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('permissions')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- password -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"isPasswordProtected\"\n\t\t\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t\t\t{{ config.enforcePasswordForPublicLink\n\t\t\t\t\t\t\t? t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Password protect') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"isPasswordProtected\"\n\t\t\t\t\t\tref=\"password\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\t\t\tshow: errors.password,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t\t\t:class=\"{ error: errors.password}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:required=\"config.enforcePasswordForPublicLink\"\n\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : '***************'\"\n\t\t\t\t\t\ticon=\"icon-password\"\n\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t:type=\"hasUnsavedPassword ? 'text': 'password'\"\n\t\t\t\t\t\t@update:value=\"onPasswordChange\"\n\t\t\t\t\t\t@submit=\"onPasswordSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- password protected by Talk -->\n\t\t\t\t\t<ActionCheckbox v-if=\"isPasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t:disabled=\"!canTogglePasswordProtectedByTalkAvailable || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-talk-checkbox\"\n\t\t\t\t\t\t@change=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- expiration date -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t\t:disabled=\"config.isDefaultExpireDateEnforced || saving\"\n\t\t\t\t\t\tclass=\"share-link-expire-date-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t\t{{ config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- note -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Enter a note for the share recipient')\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\n\t\t\t\t<!-- external sharing via url (social...) -->\n\t\t\t\t<ActionLink v-for=\"({icon, url, name}, index) in externalActions\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</ActionLink>\n\n\t\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\t\ticon=\"icon-close\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</ActionButton>\n\t\t\t\t<ActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\ticon=\"icon-add\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</ActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<ActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create a new share link') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport Vue from 'vue'\n\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionRadio from '@nextcloud/vue/dist/Components/ActionRadio'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionRadio,\n\t\tActionInput,\n\t\tActionLink,\n\t\tActionText,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tpublicUploadRWValue: OC.PERMISSION_UPDATE | OC.PERMISSION_CREATE | OC.PERMISSION_READ | OC.PERMISSION_DELETE,\n\t\t\tpublicUploadRValue: OC.PERMISSION_READ,\n\t\t\tpublicUploadWValue: OC.PERMISSION_CREATE,\n\n\t\t\tExternalLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Return the current share permissions\n\t\t * We always ignore the SHARE permission as this is used for the\n\t\t * federated sharing.\n\t\t * @returns {number}\n\t\t */\n\t\tsharePermissions() {\n\t\t\treturn this.share.permissions & ~OC.PERMISSION_SHARE\n\t\t},\n\t\t/**\n\t\t * Generate a unique random id for this SharingEntryLink only\n\t\t * This allows ActionRadios to have the same name prop\n\t\t * but not to impact others SharingEntryLink\n\t\t * @returns {string}\n\t\t */\n\t\trandomId() {\n\t\t\treturn Math.random().toString(27).substr(2)\n\t\t},\n\n\t\t/**\n\t\t * Link share label\n\t\t * @returns {string}\n\t\t */\n\t\ttitle() {\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Share link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t * @returns {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t\t|| !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tlet dateString = moment(this.config.defaultExpirationDateString)\n\t\t\t\tif (!dateString.isValid()) {\n\t\t\t\t\tdateString = moment()\n\t\t\t\t}\n\t\t\t\tthis.share.state.expiration = enabled\n\t\t\t\t\t? dateString.format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t\tconsole.debug('Expiration date status', enabled, this.share.expireDate)\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t&& moment().add(1 + this.config.defaultExpireDate, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\t// TODO: directly save after generation to make sure the share is always protected\n\t\t\t\tVue.set(this.share, 'password', enabled ? await GeneratePassword() : '')\n\t\t\t\tVue.set(this.share, 'newPassword', this.share.password)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t * @returns {boolean}\n\t\t */\n\t\tpendingPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.share && !this.share.id\n\t\t},\n\t\tpendingExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.share && !this.share.id\n\t\t},\n\n\t\t/**\n\t\t * Can the recipient edit the file ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanUpdate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.permissions = enabled\n\t\t\t\t\t? OC.PERMISSION_READ | OC.PERMISSION_UPDATE\n\t\t\t\t\t: OC.PERMISSION_READ\n\t\t\t},\n\t\t},\n\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current file/folder have create permissions\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tfileHasCreatePermission() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_CREATE)\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t * @returns {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\t/**\n\t\t * External aditionnal actions for the menu\n\t\t * @returns {Array}\n\t\t */\n\t\texternalActions() {\n\t\t\treturn this.ExternalLinkActions.actions\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t */\n\t\tasync onNewLinkShare() {\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: OC.Share.SHARE_TYPE_LINK,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.config.defaultExpirationDateString\n\t\t\t}\n\t\t\tif (this.config.enableLinkPasswordByDefault) {\n\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t}\n\n\t\t\t// do not push yet if we need a password or an expiration date: show pending menu\n\t\t\tif (this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced) {\n\t\t\t\tthis.pending = true\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password enforced, pre-fill with random one\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update=false] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst newShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file drop\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t})\n\n\t\t\t\tthis.open = false\n\n\t\t\t\tconsole.debug('Link share created', newShare)\n\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\n\t\t\t} catch ({ response }) {\n\t\t\t\tconst message = response.data.ocs.meta.message\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * On permissions change\n\t\t * @param {Event} event js event\n\t\t */\n\t\ttogglePermissions(event) {\n\t\t\tconst permissions = parseInt(event.target.value, 10)\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Label changed, let's save it to a different key\n\t\t * @param {String} label the share label\n\t\t */\n\t\tonLabelChange(label) {\n\t\t\tthis.$set(this.share, 'newLabel', label.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t */\n\t\tonLabelSubmit() {\n\t\t\tif (typeof this.share.newLabel === 'string') {\n\t\t\t\tthis.share.label = this.share.newLabel\n\t\t\t\tthis.$delete(this.share, 'newLabel')\n\t\t\t\tthis.queueUpdate('label')\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.shareLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submited.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tthis.$emit('remove:share', this.share)\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\toverflow: hidden;\n\n\t\th5 {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\t\tmargin-left: auto;\n\t\t~ .action-item,\n\t\t~ .sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=121ac5e6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul v-if=\"canLinkShare\" class=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryLink from '../components/SharingEntryLink'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: OC.getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.unshift(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=121ac5e6&scoped=true&\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=121ac5e6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121ac5e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{'sharing-entry--share': _vm.share}},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('h5',{attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('Actions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('ActionLink',{attrs:{\"href\":_vm.shareLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),(!_vm.pending && (_vm.pendingPassword || _vm.pendingExpirationDate))?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onNewLinkShare}},[(_vm.errors.pending)?_c('ActionText',{class:{ error: _vm.errors.pending},attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('ActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('ActionText',{attrs:{\"icon\":\"icon-password\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")]):(_vm.config.enableLinkPasswordByDefault)?_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingPassword || _vm.share.password)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\tshow: _vm.errors.password,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"icon\":\"\",\"type\":\"date\",\"value-type\":\"format\",\"disabled-date\":_vm.disabledDate},model:{value:(_vm.share.expireDate),callback:function ($$v) {_vm.$set(_vm.share, \"expireDate\", $$v)},expression:\"share.expireDate\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-checkmark\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.label,\n\t\t\t\t\t\tshow: _vm.errors.label,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.label,\\n\\t\\t\\t\\t\\t\\tshow: errors.label,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '.app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"label\",class:{ error: _vm.errors.label },attrs:{\"disabled\":_vm.saving,\"aria-label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.newLabel !== undefined ? _vm.share.newLabel : _vm.share.label,\"icon\":\"icon-edit\",\"maxlength\":\"255\"},on:{\"update:value\":_vm.onLabelChange,\"submit\":_vm.onLabelSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share label'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder && _vm.fileHasCreatePermission && _vm.config.isPublicUploadEnabled)?[_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRValue,\"value\":_vm.publicUploadRValue,\"name\":_vm.randomId,\"disabled\":_vm.saving},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRWValue,\"value\":_vm.publicUploadRWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{staticClass:\"sharing-entry__action--public-upload\",attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadWValue,\"value\":_vm.publicUploadWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop (upload only)'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('ActionCheckbox',{attrs:{\"checked\":_vm.canUpdate,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canUpdate=$event},\"change\":function($event){return _vm.queueUpdate('permissions')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.share.hideDownload,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},\"change\":function($event){return _vm.queueUpdate('hideDownload')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Password protect'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\t\t\tshow: _vm.errors.password,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"password\",staticClass:\"share-link-password\",class:{ error: _vm.errors.password},attrs:{\"disabled\":_vm.saving,\"required\":_vm.config.enforcePasswordForPublicLink,\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '***************',\"icon\":\"icon-password\",\"autocomplete\":\"new-password\",\"type\":_vm.hasUnsavedPassword ? 'text': 'password'},on:{\"update:value\":_vm.onPasswordChange,\"submit\":_vm.onPasswordSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isPasswordProtectedByTalkAvailable)?_c('ActionCheckbox',{staticClass:\"share-link-password-talk-checkbox\",attrs:{\"checked\":_vm.isPasswordProtectedByTalk,\"disabled\":!_vm.canTogglePasswordProtectedByTalkAvailable || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtectedByTalk=$event},\"change\":_vm.onPasswordProtectedByTalkChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-expire-date-checkbox\",attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",staticClass:\"share-link-expire-date\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient'),\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalActions),function(ref,index){\n\t\t\t\t\tvar icon = ref.icon;\n\t\t\t\t\tvar url = ref.url;\n\t\t\t\t\tvar name = ref.name;\nreturn _c('ActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":\"icon-add\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create a new share link'))+\"\\n\\t\\t\")]):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=186b01ce&\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare.apply(void 0, arguments)}],\"add:share\":function($event){return _vm.addShare.apply(void 0, arguments)},\"remove:share\":_vm.removeShare}})}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<Avatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:tooltip-message=\"share.type === SHARE_TYPES.SHARE_TYPE_USER ? share.shareWith : ''\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\tv-tooltip.auto=\"tooltip\"\n\t\t\t:href=\"share.shareWithLink\"\n\t\t\tclass=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}<span v-if=\"!isUnique\" class=\"sharing-entry__desc-unique\"> ({{ share.shareWithDisplayNameUnique }})</span></h5>\n\t\t\t<p v-if=\"hasStatus\">\n\t\t\t\t<span>{{ share.status.icon || '' }}</span>\n\t\t\t\t<span>{{ share.status.message || '' }}</span>\n\t\t\t</p>\n\t\t</component>\n\t\t<Actions\n\t\t\tmenu-align=\"right\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share.canEdit\">\n\t\t\t\t<!-- edit permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tref=\"canEdit\"\n\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t:value=\"permissionsEdit\"\n\t\t\t\t\t:disabled=\"saving || !canSetEdit\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- create permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canCreate\"\n\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t:value=\"permissionsCreate\"\n\t\t\t\t\t:disabled=\"saving || !canSetCreate\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow creating') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- delete permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canDelete\"\n\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t:value=\"permissionsDelete\"\n\t\t\t\t\t:disabled=\"saving || !canSetDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow deleting') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- reshare permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"config.isResharingAllowed\"\n\t\t\t\t\tref=\"canReshare\"\n\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t:value=\"permissionsShare\"\n\t\t\t\t\t:disabled=\"saving || !canSetReshare\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow resharing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- expiration date -->\n\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t:disabled=\"config.isDefaultInternalExpireDateEnforced || saving\"\n\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t{{ config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t\t? t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t</ActionCheckbox>\n\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}\"\n\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t</ActionInput>\n\n\t\t\t\t<!-- note -->\n\t\t\t\t<template v-if=\"canHaveNote\">\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\t\t\t</template>\n\n\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\ticon=\"icon-close\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionInput,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\tpermissionsEdit: OC.PERMISSION_UPDATE,\n\t\t\tpermissionsCreate: OC.PERMISSION_CREATE,\n\t\t\tpermissionsDelete: OC.PERMISSION_DELETE,\n\t\t\tpermissionsRead: OC.PERMISSION_READ,\n\t\t\tpermissionsShare: OC.PERMISSION_SHARE,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GUEST) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tcanHaveNote() {\n\t\t\treturn !this.isRemote\n\t\t},\n\n\t\tisRemote() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t|| this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file drop links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced || !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.config.defaultInternalExpirationDateString !== ''\n\t\t\t\t\t\t? this.config.defaultInternalExpirationDateString\n\t\t\t\t\t\t: moment().format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\tif (!this.isRemote) {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultInternalExpireDate, 'days')\n\t\t\t} else {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultRemoteExpireDate, 'days')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @returns {bool}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\n\t},\n\n\tmethods: {\n\t\tupdatePermissions({ isEditChecked = this.canEdit, isCreateChecked = this.canCreate, isDeleteChecked = this.canDelete, isReshareChecked = this.canReshare } = {}) {\n\t\t\t// calc permissions if checked\n\t\t\tconst permissions = 0\n\t\t\t\t| (this.hasRead ? this.permissionsRead : 0)\n\t\t\t\t| (isCreateChecked ? this.permissionsCreate : 0)\n\t\t\t\t| (isDeleteChecked ? this.permissionsDelete : 0)\n\t\t\t\t| (isEditChecked ? this.permissionsEdit : 0)\n\t\t\t\t| (isReshareChecked ? this.permissionsShare : 0)\n\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t&-unique {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=8e155ce6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul class=\"sharing-sharee-list\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharingEntry from '../components/SharingEntry'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=8e155ce6&scoped=true&\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=8e155ce6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8e155ce6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":_vm.share.type === _vm.SHARE_TYPES.SHARE_TYPE_USER ? _vm.share.shareWith : '',\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c(_vm.share.shareWithLink ? 'a' : 'div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.tooltip),expression:\"tooltip\",modifiers:{\"auto\":true}}],tag:\"component\",staticClass:\"sharing-entry__desc\",attrs:{\"href\":_vm.share.shareWithLink}},[_c('h5',[_vm._v(_vm._s(_vm.title)),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e()]),_vm._v(\" \"),(_vm.hasStatus)?_c('p',[_c('span',[_vm._v(_vm._s(_vm.share.status.icon || ''))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.share.status.message || ''))])]):_vm._e()]),_vm._v(\" \"),_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"},on:{\"close\":_vm.onMenuClose}},[(_vm.share.canEdit)?[_c('ActionCheckbox',{ref:\"canEdit\",attrs:{\"checked\":_vm.canEdit,\"value\":_vm.permissionsEdit,\"disabled\":_vm.saving || !_vm.canSetEdit},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canCreate\",attrs:{\"checked\":_vm.canCreate,\"value\":_vm.permissionsCreate,\"disabled\":_vm.saving || !_vm.canSetCreate},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow creating'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canDelete\",attrs:{\"checked\":_vm.canDelete,\"value\":_vm.permissionsDelete,\"disabled\":_vm.saving || !_vm.canSetDelete},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow deleting'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.config.isResharingAllowed)?_c('ActionCheckbox',{ref:\"canReshare\",attrs:{\"checked\":_vm.canReshare,\"value\":_vm.permissionsShare,\"disabled\":_vm.saving || !_vm.canSetReshare},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow resharing'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultInternalExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canHaveNote)?[_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\")]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=0b29d4c0&\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sharing-sharee-list\"},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"remove:share\":_vm.removeShare}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<template v-else>\n\t\t\t<!-- shared with me information -->\n\t\t\t<SharingEntrySimple v-if=\"isSharedWithMe\" v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t<template #avatar>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\t:user=\"sharedWithMe.user\"\n\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t\ttooltip-message=\"\" />\n\t\t\t\t</template>\n\t\t\t</SharingEntrySimple>\n\n\t\t\t<!-- add new share input -->\n\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t@add:share=\"addShare\" />\n\n\t\t\t<!-- link shares list -->\n\t\t\t<SharingLinkList v-if=\"!loading\"\n\t\t\t\tref=\"linkShareList\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:shares=\"linkShares\" />\n\n\t\t\t<!-- other shares list -->\n\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\tref=\"shareList\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t:file-info=\"fileInfo\" />\n\n\t\t\t<!-- inherited shares -->\n\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t<!-- internal link copy -->\n\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\n\t\t\t<!-- projects -->\n\t\t\t<CollectionList v-if=\"fileInfo\"\n\t\t\t\t:id=\"`${fileInfo.id}`\"\n\t\t\t\ttype=\"file\"\n\t\t\t\t:name=\"fileInfo.name\" />\n\n\t\t\t<!-- additionnal entries, use it with cautious -->\n\t\t\t<div v-for=\"(section, index) in sections\"\n\t\t\t\t:ref=\"'section-' + index\"\n\t\t\t\t:key=\"index\"\n\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport axios from '@nextcloud/axios'\n\nimport Config from '../services/ConfigService'\nimport { shareWithTitle } from '../utils/SharedWithMe'\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryInternal from '../components/SharingEntryInternal'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\nimport SharingInput from '../components/SharingInput'\n\nimport SharingInherited from './SharingInherited'\nimport SharingLinkList from './SharingLinkList'\nimport SharingList from './SharingList'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tCollectionList,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn Object.keys(this.sharedWithMe).length > 0\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t * @param {Object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: OC.Util.relativeModifiedDate(expiration * 1000),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\t// create Share objects and sort by newest\n\t\t\t\tconst shares = data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\n\t\t\t\tthis.linkShares = shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t\tthis.shares = shares.filter(share => share.type !== this.SHARE_TYPES.SHARE_TYPE_LINK && share.type !== this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\n\t\t\t\tconsole.debug('Processed', this.linkShares.length, 'link share(s)')\n\t\t\t\tconsole.debug('Processed', this.shares.length, 'share(s)')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => {}) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t// are managed internally in the SharingLinkList component\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t}\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst shareWithTitle = function(share) {\n\tif (share.type === OC.Share.SHARE_TYPE_GROUP) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.SHARE_TYPE_CIRCLE) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.SHARE_TYPE_ROOM) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=6af617e4&\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):[(_vm.isSharedWithMe)?_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName,\"tooltip-message\":\"\"}})]},proxy:true}],null,false,1643724538)},'SharingEntrySimple',_vm.sharedWithMe,false)):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}}),_vm._v(\" \"),(_vm.fileInfo)?_c('CollectionList',{attrs:{\"id\":(\"\" + (_vm.fileInfo.id)),\"type\":\"file\",\"name\":_vm.fileInfo.name}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ShareSearch {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {Object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {function} result.handler function to run on entry selection\n\t * @param {function} [result.condition] condition to add entry or not\n\t * @returns {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExternalLinkActions {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {Object} action new action component to register\n\t * @returns {boolean}\n\t */\n\tregisterAction(action) {\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class TabSections {\n\n\t_sections;\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport VueClipboard from 'vue-clipboard2'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\nimport SharingTab from './views/SharingTab'\nimport ShareSearch from './services/ShareSearch'\nimport ExternalLinkActions from './services/ExternalLinkActions'\nimport TabSections from './services/TabSections'\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\nVue.use(VueClipboard)\n\n// Init Sharing tab component\nconst View = Vue.extend(SharingTab)\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticon: 'icon-share',\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\t\t\tdestroy() {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t\tTabInstance = null\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nexport default class AbstractParser {\n\n\t/**\n\t * @constructor\n\t *\n\t * @param {Object=} options Object of options\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t */\n\tconstructor(options = {}) {\n\t\tif (new.target === AbstractParser) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractParser')\n\t\t}\n\n\t\t/**\n\t\t * Options for the parser\n\t\t *\n\t\t * @type {{removeRSVPForAttendees: Boolean}}\n\t\t * @private\n\t\t */\n\t\tthis._options = Object.assign({}, options)\n\n\t\t/**\n\t\t * A name extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._name = null\n\n\t\t/**\n\t\t * A color extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._color = null\n\n\t\t/**\n\t\t * Gets the url that this icalendar file can be updated from\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._sourceURL = null\n\n\t\t/**\n\t\t * Gets the update interval if this icalendar file can be updated from a source\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._refreshInterval = null\n\n\t\t/**\n\t\t * Gets the default timezone of this calendar\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarTimezone = null\n\n\t\t/**\n\t\t * Error count during parsing\n\t\t *\n\t\t * @type {Array}\n\t\t * @protected\n\t\t */\n\t\tthis._errors = []\n\t}\n\n\t/**\n\t * Gets the name extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetName() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the color extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetColor() {\n\t\treturn this._color\n\t}\n\n\t/**\n\t * Gets whether this import can be converted into a webcal subscription\n\t *\n\t * @returns {boolean}\n\t */\n\toffersWebcalFeed() {\n\t\treturn this._sourceURL !== null\n\t}\n\n\t/**\n\t * Gets the url pointing to the webcal source\n\t *\n\t * @returns {String|null}\n\t */\n\tgetSourceURL() {\n\t\treturn this._sourceURL\n\t}\n\n\t/**\n\t * Gets the recommended refresh rate to update this subscription\n\t *\n\t * @returns {String|null}\n\t */\n\tgetRefreshInterval() {\n\t\treturn this._refreshInterval\n\t}\n\n\t/**\n\t * Gets the default timezone of this calendar\n\t *\n\t * @returns {String}\n\t */\n\tgetCalendarTimezone() {\n\t\treturn this._calendarTimezone\n\t}\n\n\t/**\n\t * {String|Object} data\n\t *\n\t * @param {any} data The data to parse\n\t * @throws TypeError\n\t */\n\tparse(data) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Returns one CalendarComponent at a time\n\t */\n\t* getItemIterator() { // eslint-disable-line require-yield\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Get an array of all items\n\t *\n\t * @returns {CalendarComponent[]}\n\t */\n\tgetAllItems() {\n\t\treturn Array.from(this.getItemIterator())\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vevents\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVEvents() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vjournals\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVJournals() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vtodos\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVTodos() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vfreebusys\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether\n\t *\n\t * @returns {boolean}\n\t */\n\thasErrors() {\n\t\treturn this._errors.length !== 0\n\t}\n\n\t/**\n\t * Get a list of all errors that occurred\n\t *\n\t * @returns {*[]}\n\t */\n\tgetErrorList() {\n\t\treturn this._errors.slice()\n\t}\n\n\t/**\n\t * Returns the number of calendar-objects in parser\n\t *\n\t * @returns {number}\n\t */\n\tgetItemCount() {\n\t\treturn 0\n\t}\n\n\t/**\n\t * Gets an option provided\n\t *\n\t * @param {String} name The name of the option to get\n\t * @param {*} defaultValue The default value to return if option not provided\n\t * @returns {any}\n\t * @protected\n\t */\n\t_getOption(name, defaultValue) {\n\t\treturn Object.prototype.hasOwnProperty.call(this._options, name)\n\t\t\t? this._options[name]\n\t\t\t: defaultValue\n\t}\n\n\t/**\n\t * Return list of supported mime types\n\t *\n\t * @static\n\t */\n\tstatic getMimeTypes() {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ModificationNotAllowedError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\n\nexport default function lockableTrait(baseClass) {\n\n\t/**\n\t * @class LockableTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * Indicator whether this value was locked for changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Returns whether or not this object is locked\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisLocked() {\n\t\t\treturn !this._mutable\n\t\t}\n\n\t\t/**\n\t\t * Marks this object is immutable\n\t\t * locks it against further modification\n\t\t */\n\t\tlock() {\n\t\t\tthis._mutable = false\n\t\t}\n\n\t\t/**\n\t\t * Marks this object as mutable\n\t\t * allowing further modification\n\t\t */\n\t\tunlock() {\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Check if modifications are allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modify() {\n\t\t\tif (!this._mutable) {\n\t\t\t\tthrow new ModificationNotAllowedError()\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Check if modification of content is allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modifyContent() {\n\t\t\tthis._modify()\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExpectedICalJSError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nexport function lc(str) {\n\treturn str.toLowerCase()\n}\n\n/**\n * Compares two strings, It is case-insensitive.\n *\n * @param {String} str1 String 1 to compare\n * @param {String} str2 String 2 to compare\n * @returns {Boolean}\n */\nexport function strcasecmp(str1, str2) {\n\treturn uc(str1) === uc(str2)\n}\n\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\nexport function uc(str) {\n\treturn str.toUpperCase()\n}\n\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\nexport function ucFirst(str) {\n\treturn str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\nexport function startStringWith(str, startWith) {\n\tif (!str.startsWith(startWith)) {\n\t\tstr = startWith + str\n\t}\n\n\treturn str\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @type {Map<String, *>}\n */\nconst GLOBAL_CONFIG = new Map()\n\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\nexport function setConfig(key, value) {\n\tGLOBAL_CONFIG.set(key, value)\n}\n\n/**\n * Checks if a config for a certain key is present\n *\n * @param {String} key The config-key to check\n * @returns {boolean}\n */\nexport function hasConfig(key) {\n\treturn GLOBAL_CONFIG.has(key)\n}\n\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\nexport function getConfig(key, defaultValue) {\n\treturn GLOBAL_CONFIG.get(key) || defaultValue\n}\n\n/**\n * deletes a config key\n *\n * @param {String} key The config-key to delete\n */\nexport function deleteConfig(key) {\n\tGLOBAL_CONFIG.delete(key)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { lc } from '../helpers/stringHelper.js'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\nexport function createComponent(componentName) {\n\treturn new ICAL.Component(lc(componentName))\n}\n\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\nexport function createProperty(propertyName) {\n\treturn new ICAL.Property(lc(propertyName))\n}\n\n/**\n * creates a new calendar component\n *\n * @param {String=} method Name of the method to include in VCALENDAR component\n * @returns {ICAL.Component}\n */\nexport function createCalendarComponent(method = null) {\n\tconst calendarComp = createComponent('VCALENDAR')\n\n\tcalendarComp.addPropertyWithValue('prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN'))\n\tcalendarComp.addPropertyWithValue('calscale', 'GREGORIAN')\n\tcalendarComp.addPropertyWithValue('version', '2.0')\n\n\tif (method) {\n\t\tcalendarComp.addPropertyWithValue('method', method)\n\t}\n\n\treturn calendarComp\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default function observerTrait(baseClass) {\n\n\t/**\n\t * @class ObserverTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * List of subscribers\n\t\t\t *\n\t\t\t * @type {Function[]}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._subscribers = []\n\t\t}\n\n\t\t/**\n\t\t * Adds a new subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be called when modification happens\n\t\t */\n\t\tsubscribe(handler) {\n\t\t\tthis._subscribers.push(handler)\n\t\t}\n\n\t\t/**\n\t\t * Removes a subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be no longer called when modification happens\n\t\t */\n\t\tunsubscribe(handler) {\n\t\t\tconst index = this._subscribers.indexOf(handler)\n\t\t\tif (index === -1) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis._subscribers.splice(index, 1)\n\t\t}\n\n\t\t/**\n\t\t * Notify all subscribed handlers\n\t\t *\n\t\t * @protected\n\t\t */\n\t\t_notifySubscribers(...args) {\n\t\t\tfor (const handler of this._subscribers) {\n\t\t\t\thandler(...args)\n\t\t\t}\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { uc } from '../helpers/stringHelper.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\nexport default class Parameter extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {string} name The name of the parameter\n\t * @param {string|Array|null} value The value of the parameter\n\t */\n\tconstructor(name, value = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the parameter\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the parameter\n\t\t *\n\t\t * @type {string|Array|null}\n\t\t * @private\n\t\t */\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Get parameter name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Array}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @throws {ModificationNotAllowedError} if parameter is locked for modification\n\t * @param {String|Array} value The new value to set\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Gets the first value of this parameter\n\t *\n\t * @returns {String|null}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator for all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Parameter}\n\t */\n\tclone() {\n\t\tconst parameter = new this.constructor(this._name)\n\t\tif (this.isMultiValue()) {\n\t\t\t// only copy array values, don't copy array reference\n\t\t\tparameter.value = this._value.slice()\n\t\t} else {\n\t\t\tparameter.value = this._value\n\t\t}\n\n\t\t// cloned parameters are always mutable\n\t\treturn parameter\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\nexport default class AbstractValue extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n\t */\n\tconstructor(icalValue) {\n\t\tif (new.target === AbstractValue) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractValue')\n\t\t}\n\t\tsuper()\n\n\t\t/**\n\t\t * Wrapped ICAL.js value\n\t\t *\n\t\t * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n\t\t */\n\t\tthis._innerValue = icalValue\n\t}\n\n\t/**\n\t * Gets wrapped ICAL.JS object\n\t *\n\t * @returns {*}\n\t */\n\ttoICALJs() {\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\nexport default class BinaryValue extends AbstractValue {\n\n\t/**\n\t * Sets the raw b64 encoded value\n\t *\n\t * @returns {String}\n\t */\n\tget rawValue() {\n\t\treturn this._innerValue.value\n\t}\n\n\t/**\n\t * Gets the raw b64 encoded value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} value - The new raw value\n\t */\n\tset rawValue(value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.value = value\n\t}\n\n\t/**\n\t * Gets the decoded value\n\t *\n\t * @returns {String}\n\t */\n\tget value() {\n\t\treturn this._innerValue.decodeValue()\n\t}\n\n\t/**\n\t * Sets the decoded Value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} decodedValue - The new encoded value\n\t */\n\tset value(decodedValue) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.setEncodedValue(decodedValue)\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {BinaryValue}\n\t */\n\tclone() {\n\t\treturn BinaryValue.fromRawValue(this._innerValue.value)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from an ICAL.Binary object\n\t *\n\t * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new BinaryValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from a raw b64 encoded value\n\t *\n\t * @param {String} rawValue - The raw value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromRawValue(rawValue) {\n\t\tconst icalBinary = new ICAL.Binary(rawValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from decoded value\n\t *\n\t * @param {String} decodedValue - The encoded value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromDecodedValue(decodedValue) {\n\t\tconst icalBinary = new ICAL.Binary()\n\t\ticalBinary.setEncodedValue(decodedValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\nexport default class DurationValue extends AbstractValue {\n\n\t/**\n\t * Gets the weeks of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget weeks() {\n\t\treturn this._innerValue.weeks\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} weeks Amount of weeks\n\t */\n\tset weeks(weeks) {\n\t\tthis._modifyContent()\n\t\tif (weeks < 0) {\n\t\t\tthrow new TypeError('Weeks cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.weeks = weeks\n\t}\n\n\t/**\n\t * Gets the days of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget days() {\n\t\treturn this._innerValue.days\n\t}\n\n\t/**\n\t * Sets the days of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} days Amount of days\n\t */\n\tset days(days) {\n\t\tthis._modifyContent()\n\t\tif (days < 0) {\n\t\t\tthrow new TypeError('Days cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.days = days\n\t}\n\n\t/**\n\t * Gets the hours of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} hours Amount of hours\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tif (hours < 0) {\n\t\t\tthrow new TypeError('Hours cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minutes of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minutes of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} minutes Amount of minutes\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tif (minutes < 0) {\n\t\t\tthrow new TypeError('Minutes cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the seconds of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget seconds() {\n\t\treturn this._innerValue.seconds\n\t}\n\n\t/**\n\t * Sets the seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} seconds Amount of seconds\n\t */\n\tset seconds(seconds) {\n\t\tthis._modifyContent()\n\t\tif (seconds < 0) {\n\t\t\tthrow new TypeError('Seconds cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.seconds = seconds\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @returns {Boolean}\n\t */\n\tget isNegative() {\n\t\treturn this._innerValue.isNegative\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Boolean} isNegative Whether or not the duration is negative\n\t */\n\tset isNegative(isNegative) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isNegative = !!isNegative\n\t}\n\n\t/**\n\t * Gets the amount of total seconds of the stored duration-value\n\t *\n\t * @returns {*|Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the amount of total seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds The total amounts of seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this duration to another one\n\t *\n\t * @param {DurationValue} otherDuration The duration to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(otherDuration) {\n\t\treturn this._innerValue.compare(otherDuration.toICALJs())\n\t}\n\n\t/**\n\t * Adds the value of another duration to this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to add\n\t */\n\taddDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds += otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * Subtract the value of another duration from this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to subtract\n\t */\n\tsubtractDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds -= otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DurationValue}\n\t */\n\tclone() {\n\t\treturn DurationValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DurationValue object from an ICAL.Duration object\n\t *\n\t * @param {ICAL.Duration} icalValue The ical.js duration value\n\t * @returns {DurationValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DurationValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new DurationValue object from a number of seconds\n\t *\n\t * @param {Number} seconds Total amount of seconds\n\t * @returns {DurationValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalDuration = ICAL.Duration.fromSeconds(seconds)\n\t\treturn new DurationValue(icalDuration)\n\n\t}\n\n\t/**\n\t * Create a new DurationValue object from data\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.weeks Number of weeks to set\n\t * @param {Number=} data.days Number of days to set\n\t * @param {Number=} data.hours Number of hours to set\n\t * @param {Number=} data.minutes Number of minutes to set\n\t * @param {Number=} data.seconds Number of seconds to set\n\t * @param {Boolean=} data.isNegative Whether or not duration is negative\n\t * @returns {DurationValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalDuration = ICAL.Duration.fromData(data)\n\t\treturn new DurationValue(icalDuration)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\nexport default class DateTimeValue extends AbstractValue {\n\n\t/**\n\t * Gets the year of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget year() {\n\t\treturn this._innerValue.year\n\t}\n\n\t/**\n\t * Sets the year of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} year Number of years to set\n\t */\n\tset year(year) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.year = year\n\t}\n\n\t/**\n\t * Gets the month of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget month() {\n\t\treturn this._innerValue.month\n\t}\n\n\t/**\n\t * Sets the month of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} month Number of months to set\n\t */\n\tset month(month) {\n\t\tthis._modifyContent()\n\t\tif (month < 1 || month > 12) {\n\t\t\tthrow new TypeError('Month out of range')\n\t\t}\n\n\t\tthis._innerValue.month = month\n\t}\n\n\t/**\n\t * Gets the day of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget day() {\n\t\treturn this._innerValue.day\n\t}\n\n\t/**\n\t * Sets the day of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} day Number of days to set\n\t */\n\tset day(day) {\n\t\tthis._modifyContent()\n\t\tif (day < 1 || day > 31) {\n\t\t\tthrow new TypeError('Day out of range')\n\t\t}\n\n\t\tthis._innerValue.day = day\n\t}\n\n\t/**\n\t * Gets the hour of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hour() {\n\t\treturn this._innerValue.hour\n\t}\n\n\t/**\n\t * Sets the hour of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} hour Number of hours to set\n\t */\n\tset hour(hour) {\n\t\tthis._modifyContent()\n\t\tif (hour < 0 || hour > 23) {\n\t\t\tthrow new TypeError('Hour out of range')\n\t\t}\n\n\t\tthis._innerValue.hour = hour\n\t}\n\n\t/**\n\t * Gets the minute of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minute() {\n\t\treturn this._innerValue.minute\n\t}\n\n\t/**\n\t * Sets the minute of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} minute Number of minutes to set\n\t */\n\tset minute(minute) {\n\t\tthis._modifyContent()\n\t\tif (minute < 0 || minute > 59) {\n\t\t\tthrow new TypeError('Minute out of range')\n\t\t}\n\n\t\tthis._innerValue.minute = minute\n\t}\n\n\t/**\n\t * Gets the second of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget second() {\n\t\treturn this._innerValue.second\n\t}\n\n\t/**\n\t * Sets the second of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} second Number of seconds to set\n\t */\n\tset second(second) {\n\t\tthis._modifyContent()\n\t\tif (second < 0 || second > 59) {\n\t\t\tthrow new TypeError('Second out of range')\n\t\t}\n\n\t\tthis._innerValue.second = second\n\t}\n\n\t/**\n\t * Gets the timezone of this date-time-value\n\t *\n\t * @returns {String|null}\n\t */\n\tget timezoneId() {\n\t\t// If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n\t\t// timezone that we also have a timezone id for\n\t\tif (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n\t\t\treturn this._innerValue.zone.tzid\n\t\t}\n\n\t\t// If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n\t\t// this means that the tzid does not have a definition stored along it.\n\t\t// we will keep this information anyway to not lose it\n\t\tif (this._innerValue.timezone) {\n\t\t\treturn this._innerValue.timezone\n\t\t}\n\n\t\t// this is the case when it's floating / UTC\n\t\treturn this._innerValue.zone.tzid || null\n\t}\n\n\t/**\n\t * Gets whether this date-time-value is a date or date-time\n\t *\n\t * @returns {boolean}\n\t */\n\tget isDate() {\n\t\treturn this._innerValue.isDate\n\t}\n\n\t/**\n\t * Sets whether this date-time-value is a date or date-time\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {boolean} isDate Whether this is a date or date-time value\n\t */\n\tset isDate(isDate) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isDate = !!isDate\n\n\t\tif (isDate) {\n\t\t\tthis._innerValue.hour = 0\n\t\t\tthis._innerValue.minute = 0\n\t\t\tthis._innerValue.second = 0\n\t\t}\n\t}\n\n\t/**\n\t * Gets the unix-time\n\t *\n\t * @returns {Number}\n\t */\n\tget unixTime() {\n\t\treturn this._innerValue.toUnixTime()\n\t}\n\n\t/**\n\t * returns vanilla javascript date object\n\t *\n\t * @returns {Date}\n\t */\n\tget jsDate() {\n\t\treturn this._innerValue.toJSDate()\n\t}\n\n\t/**\n\t * Adds a duration to this date-time-value\n\t *\n\t * @param {DurationValue} duration The duration to ad\n\t */\n\taddDuration(duration) {\n\t\tthis._innerValue.addDuration(duration.toICALJs())\n\t}\n\n\t/**\n\t * Subtract another date excluding timezones\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithoutTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDate(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Subtract another date, taking timezones into account\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDateTz(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Compares this DateTimeValue object with another one\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Compares only the date part in a given timezone\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @param {Timezone} timezone The timezone to compare in\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompareDateOnlyInGivenTimezone(other, timezone) {\n\t\treturn this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t */\n\tgetInTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone())\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Get the inner ICAL.Timezone\n\t *\n\t * @returns {ICAL.Timezone}\n\t * @package\n\t */\n\tgetICALTimezone() {\n\t\treturn this._innerValue.zone\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {ICAL.Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t * @package\n\t */\n\tgetInICALTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to UTC\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetInUTC() {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * This silently replaces the inner timezone without converting the actual time\n\t *\n\t * @param {ICAL.Timezone} timezone The timezone to replace with\n\t * @package\n\t */\n\tsilentlyReplaceTimezone(timezone) {\n\t\tthis._modify()\n\t\tthis._innerValue = new ICAL.Time({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t\ttimezone,\n\t\t})\n\t}\n\n\t/**\n\t * Replaces the inner timezone without converting the actual time\n\t *\n\t * @param {Timezone} timezone The timezone to replace with\n\t */\n\treplaceTimezone(timezone) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue = ICAL.Time.fromData({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t}, timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Calculates the UTC offset of the date-time-value in its timezone\n\t *\n\t * @returns {Number}\n\t */\n\tutcOffset() {\n\t\treturn this._innerValue.utcOffset()\n\t}\n\n\t/**\n\t * Check if this is an event with floating time\n\t *\n\t * @returns {boolean}\n\t */\n\tisFloatingTime() {\n\t\treturn this._innerValue.zone.tzid === 'floating'\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tclone() {\n\t\treturn DateTimeValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DateTimeValue object from an ICAL.Time object\n\t *\n\t * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DateTimeValue(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on a vanilla javascript object\n\t *\n\t * @param {Date} jsDate The JavaScript date to initialise from\n\t * @param {Boolean=} useUTC Whether or not to treat it as UTC\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromJSDate(jsDate, useUTC = false) {\n\t\tconst icalValue = ICAL.Time.fromJSDate(jsDate, useUTC)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on simple parameters\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.year Amount of years to set\n\t * @param {Number=} data.month Amount of month to set (1-based)\n\t * @param {Number=} data.day Amount of days to set\n\t * @param {Number=} data.hour Amount of hours to set\n\t * @param {Number=} data.minute Amount of minutes to set\n\t * @param {Number=} data.second Amount of seconds to set\n\t * @param {Boolean=} data.isDate Whether this is a date or date-time\n\t * @param {Timezone=} timezone The timezone of the DateTimeValue\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromData(data, timezone) {\n\t\tconst icalValue = ICAL.Time.fromData(data, timezone\n\t\t\t? timezone.toICALTimezone()\n\t\t\t: undefined)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n}\n\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY\nDateTimeValue.MONDAY = ICAL.Time.MONDAY\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY\n\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\nexport default class PeriodValue extends AbstractValue {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * DateTimeValue object for start\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._start = DateTimeValue.fromICALJs(this._innerValue.start)\n\n\t\t/**\n\t\t * DateTimeValue object for end\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._end = null\n\n\t\t/**\n\t\t * DurationValue object for duration\n\t\t *\n\t\t * @type {DurationValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._duration = null\n\t}\n\n\t/**\n\t * Gets the start of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget start() {\n\t\treturn this._start\n\t}\n\n\t/**\n\t * Sets the start of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} start The start of the period\n\t */\n\tset start(start) {\n\t\tthis._modifyContent()\n\t\tthis._start = start\n\t\tthis._innerValue.start = start.toICALJs()\n\t}\n\n\t/**\n\t * Gets the end of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget end() {\n\t\tif (!this._end) {\n\t\t\tif (this._duration) {\n\t\t\t\tthis._duration.lock()\n\t\t\t\tthis._duration = null\n\t\t\t}\n\n\t\t\tthis._innerValue.end = this._innerValue.getEnd()\n\t\t\tthis._end = DateTimeValue.fromICALJs(this._innerValue.end)\n\t\t\tthis._innerValue.duration = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._end.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._end\n\t}\n\n\t/**\n\t * Sets the end of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} end The end of the period\n\t */\n\tset end(end) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.duration = null\n\t\tthis._innerValue.end = end.toICALJs()\n\t\tthis._end = end\n\t}\n\n\t/**\n\t * Gets the duration of the period-value\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new duration\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (!this._duration) {\n\t\t\tif (this._end) {\n\t\t\t\tthis._end.lock()\n\t\t\t\tthis._end = null\n\t\t\t}\n\n\t\t\tthis._innerValue.duration = this._innerValue.getDuration()\n\t\t\tthis._duration = DurationValue.fromICALJs(this._innerValue.duration)\n\t\t\tthis._innerValue.end = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._duration.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._duration\n\t}\n\n\t/**\n\t * Sets the duration of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} duration The duration to set\n\t */\n\tset duration(duration) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.end = null\n\t\tthis._innerValue.duration = duration.toICALJs()\n\t\tthis._duration = duration\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\t\tthis.start.lock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.lock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\t\tthis.start.unlock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.unlock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {PeriodValue}\n\t */\n\tclone() {\n\t\treturn PeriodValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from a ICAL.Period object\n\t *\n\t * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new PeriodValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and end\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DateTimeValue} data.end The end of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithEnd(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tend: data.end.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and duration\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DurationValue} data.duration The duration of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithDuration(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tduration: data.duration.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport ICAL from 'ical.js'\n\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY']\n\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\nexport default class RecurValue extends AbstractValue {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Recur} icalValue The ical.js rrule value\n\t * @param {DateTimeValue?} until The Until date\n\t */\n\tconstructor(icalValue, until) {\n\t\tsuper(icalValue)\n\n\t\t/**\n\t\t * DateTimeValue object for Until\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._until = until\n\t}\n\n\t/**\n\t * Gets the stored interval of this recurrence rule\n\t *\n\t * @returns {Number}\n\t */\n\tget interval() {\n\t\treturn this._innerValue.interval\n\t}\n\n\t/**\n\t * Sets the stored interval of this recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} interval New Interval to set\n\t */\n\tset interval(interval) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.interval = parseInt(interval, 10)\n\t}\n\n\t/**\n\t * Gets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @returns {Number}\n\t */\n\tget weekStart() {\n\t\treturn this._innerValue.wkst\n\t}\n\n\t/**\n\t * Sets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if weekstart out of range\n\t * @param {Number} weekStart New start of week to set\n\t */\n\tset weekStart(weekStart) {\n\t\tthis._modifyContent()\n\t\tif (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n\t\t\tthrow new TypeError('Weekstart out of range')\n\t\t}\n\n\t\tthis._innerValue.wkst = weekStart\n\t}\n\n\t/**\n\t * Gets the until value if set\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new until\n\t *\n\t * @returns {null|DateTimeValue}\n\t */\n\tget until() {\n\t\tif (!this._until && this._innerValue.until) {\n\t\t\tthis._until = DateTimeValue.fromICALJs(this._innerValue.until)\n\t\t}\n\n\t\treturn this._until\n\t}\n\n\t/**\n\t * Sets the until value, automatically removes count\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} until New until date to set\n\t */\n\tset until(until) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\n\t\tthis._until = until\n\t\tthis._innerValue.count = null\n\t\tthis._innerValue.until = until.toICALJs()\n\t}\n\n\t/**\n\t * Gets the count value if set\n\t *\n\t * @returns {null|Number}\n\t */\n\tget count() {\n\t\treturn this._innerValue.count\n\t}\n\n\t/**\n\t * Sets the count value, automatically removes until\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} count New occurrence limit to set\n\t */\n\tset count(count) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = parseInt(count, 10)\n\t}\n\n\t/**\n\t * Gets the frequency of the recurrence rule\n\t *\n\t * @returns {String} see\n\t */\n\tget frequency() {\n\t\treturn this._innerValue.freq\n\t}\n\n\t/**\n\t * Sets the frequency of the recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if frequency is unknown\n\t * @param {String} freq New frequency to set\n\t */\n\tset frequency(freq) {\n\t\tthis._modifyContent()\n\t\tif (!ALLOWED_FREQ.includes(freq)) {\n\t\t\tthrow new TypeError('Unknown frequency')\n\t\t}\n\n\t\tthis._innerValue.freq = freq\n\t}\n\n\t/**\n\t * Modifies this recurrence-value to unset count and until\n\t */\n\tsetToInfinite() {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = null\n\t}\n\n\t/**\n\t * Checks whether the stored rule is finite\n\t *\n\t * @returns {Boolean}\n\t */\n\tisFinite() {\n\t\treturn this._innerValue.isFinite()\n\t}\n\n\t/**\n\t * Checks whether the recurrence rule is limited by count\n\t *\n\t * @returns {Boolean}\n\t */\n\tisByCount() {\n\t\treturn this._innerValue.isByCount()\n\t}\n\n\t/**\n\t * Adds a part to a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the recurrence-component to add\n\t * @param {String|Number} value The value to add\n\t */\n\taddComponent(componentName, value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.addComponent(componentName, value)\n\t}\n\n\t/**\n\t * Sets / overwrites a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to set\n\t * @param {Number[]|String[]} value The value to set\n\t */\n\tsetComponent(componentName, value) {\n\t\tthis._modifyContent()\n\n\t\tif (value.length === 0) {\n\t\t\tdelete this._innerValue.parts[componentName.toUpperCase()]\n\t\t} else {\n\t\t\tthis._innerValue.setComponent(componentName, value)\n\t\t}\n\t}\n\n\t/**\n\t * Removes all parts of a component\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to remove\n\t */\n\tremoveComponent(componentName) {\n\t\tdelete this._innerValue.parts[uc(componentName)]\n\t}\n\n\t/**\n\t * Gets all parts of a component\n\t *\n\t * @param {String} componentName The name of the component to get\n\t * @returns {Array}\n\t */\n\tgetComponent(componentName) {\n\t\treturn this._innerValue.getComponent(componentName)\n\t}\n\n\t/**\n\t * Checks if this recurrence rule is valid according to RFC 5545\n\t *\n\t * @returns {boolean}\n\t */\n\tisRuleValid() {\n\t\treturn true\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {RecurValue}\n\t */\n\tclone() {\n\t\treturn RecurValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a ICAL.Recur object\n\t *\n\t * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n\t * @param {DateTimeValue?} until The Until date\n\t * @returns {RecurValue}\n\t */\n\tstatic fromICALJs(icalValue, until = null) {\n\t\treturn new RecurValue(icalValue, until)\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a data object\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {String=} data.freq FREQ part of RRULE\n\t * @param {Number=} data.interval INTERVAL part of RRULE\n\t * @param {Number=} data.wkst WEEKSTART part of RRULE\n\t * @param {DateTimeValue=} data.until UNTIL part of RRULE\n\t * @param {Number=} data.count COUNT part of RRULE\n\t * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n\t * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n\t * @param {Number[]=} data.byhour BYHOUR part of RRULE\n\t * @param {String[]=} data.byday BYDAY part of RRULE\n\t * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n\t * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n\t * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n\t * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n\t * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n\t * @returns {RecurValue}\n\t */\n\tstatic fromData(data) {\n\t\tlet until = null\n\n\t\tif (data.until) {\n\t\t\tuntil = data.until\n\t\t\tdata.until = data.until.toICALJs()\n\t\t}\n\n\t\tconst icalRecur = ICAL.Recur.fromData(data)\n\t\treturn RecurValue.fromICALJs(icalRecur, until)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\nexport default class UTCOffsetValue extends AbstractValue {\n\n\t/**\n\t * Gets the hour part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the hour part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minute part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minute part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} minutes - New minutes to set\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the factor\n\t *\n\t * @returns {Number}\n\t */\n\tget factor() {\n\t\treturn this._innerValue.factor\n\t}\n\n\t/**\n\t * Sets the factor\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if factor is neither 1 nor -1\n\t * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n\t */\n\tset factor(factor) {\n\t\tthis._modifyContent()\n\t\tif (factor !== 1 && factor !== -1) {\n\t\t\tthrow new TypeError('Factor may only be set to 1 or -1')\n\t\t}\n\n\t\tthis._innerValue.factor = factor\n\t}\n\n\t/**\n\t * Gets the total amount of seconds\n\t *\n\t * @returns {Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the total amount of seconds\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds - New number of total seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this UTCOffset to another one\n\t *\n\t * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Clones this value\n\t *\n\t * @returns {UTCOffsetValue}\n\t */\n\tclone() {\n\t\treturn UTCOffsetValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n\t *\n\t * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new UTCOffsetValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a data object\n\t *\n\t * @param {Object} data - Object with data to create UTCOffsetValue object from\n\t * @param {Number=} data.hours - The number of hours to set\n\t * @param {Number=} data.minutes - The number of minutes to set\n\t * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalUTCOffset = new ICAL.UtcOffset()\n\t\ticalUTCOffset.fromData(data)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from an amount of seconds\n\t *w\n\t * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class UnknownICALTypeError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport Parameter from '../parameters/parameter.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc, uc } from '../helpers/stringHelper.js'\nimport { getConstructorForICALType } from '../values'\nimport AbstractValue from '../values/abstractValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\nexport default class Property extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name The name of the property\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @param {Parameter[]|[String][]} parameters Array of parameters\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @param {AbstractComponent|null} parent The parent-element of this property\n\t */\n\tconstructor(name, value = null, parameters = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the property\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the property\n\t\t *\n\t\t * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t\t * @protected\n\t\t */\n\t\tthis._value = value\n\n\t\t/**\n\t\t * List of parameters associated with this parameter\n\t\t *\n\t\t * @type {Map<String, Parameter>}\n\t\t */\n\t\tthis._parameters = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setParametersFromConstructor(parameters)\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Get property name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Gets the root of this property\n\t *\n\t * @returns {CalendarComponent|null}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this property\n\t *\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\t}\n\n\t/**\n\t * Gets the direct parent element of this property\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the direct parent element of this property\n\t *\n\t * @param {AbstractComponent|null} parent The parent element of this property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first value of this property\n\t *\n\t * @returns {null|String|Number|AbstractValue}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator over all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Adds a value to the multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to add\n\t */\n\taddValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tthis.value.push(value)\n\t}\n\n\t/**\n\t * Checks if a value is inside this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to check for\n\t * @returns {Boolean}\n\t */\n\thasValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\treturn this.value.includes(value)\n\t}\n\n\t/**\n\t * Removes a value from this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to remove\n\t */\n\tremoveValue(value) {\n\t\tif (!this.hasValue(value)) {\n\t\t\treturn\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tconst index = this.value.indexOf(value)\n\t\tthis.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Sets a parameter on this property\n\t *\n\t * @param {Parameter} parameter The parameter to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tsetParameter(parameter) {\n\t\tthis._modify()\n\t\tthis._parameters.set(parameter.name, parameter)\n\t\tparameter.subscribe(() => this._notifySubscribers())\n\t}\n\n\t/**\n\t * Gets a parameter on this property by its name\n\t *\n\t * @param {String} parameterName Name of the parameter to get\n\t * @returns {Parameter}\n\t */\n\tgetParameter(parameterName) {\n\t\treturn this._parameters.get(uc(parameterName))\n\t}\n\n\t/**\n\t * Gets an iterator over all available parameters\n\t */\n\t* getParametersIterator() {\n\t\tyield * this._parameters.values()\n\t}\n\n\t/**\n\t * Get first value of a parameter\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {null|String}\n\t */\n\tgetParameterFirstValue(parameterName) {\n\t\tconst parameter = this.getParameter(parameterName)\n\t\tif (parameter instanceof Parameter) {\n\t\t\tif (parameter.isMultiValue()) {\n\t\t\t\treturn parameter.value[0]\n\t\t\t} else {\n\t\t\t\treturn parameter.value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Returns whether a parameter exists on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {boolean}\n\t */\n\thasParameter(parameterName) {\n\t\treturn this._parameters.has(uc(parameterName))\n\t}\n\n\t/**\n\t * Deletes a parameter on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tdeleteParameter(parameterName) {\n\t\tthis._modify()\n\t\tthis._parameters.delete(uc(parameterName))\n\t}\n\n\t/**\n\t * update a parameter if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @param {string|Array|null} value Value to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tupdateParameterIfExist(parameterName, value) {\n\t\tthis._modify()\n\t\tif (this.hasParameter(parameterName)) {\n\t\t\tconst parameter = this.getParameter(parameterName)\n\t\t\tparameter.value = value\n\t\t} else {\n\t\t\tconst parameter = new Parameter(uc(parameterName), value)\n\t\t\tthis.setParameter(parameter)\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Returns whether or not this valus is decorated\n\t *\n\t * @returns {boolean}\n\t */\n\tisDecoratedValue() {\n\t\tif (this.isMultiValue()) {\n\t\t\treturn this._value[0] instanceof AbstractValue\n\t\t} else {\n\t\t\treturn this._value instanceof AbstractValue\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.lock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.lock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.unlock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.unlock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Property}\n\t */\n\tclone() {\n\t\tconst parameters = []\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameters.push(parameter.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent)\n\t}\n\n\t/**\n\t * Copies the values of this property\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t * @protected\n\t */\n\t_cloneValue() {\n\t\tif (this.isDecoratedValue()) {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\treturn this._value.map((val) => val.clone())\n\t\t\t} else {\n\t\t\t\treturn this._value.clone()\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\t// only copy array values, don't copy array reference\n\t\t\t\treturn this._value.slice()\n\t\t\t} else {\n\t\t\t\treturn this._value\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets parameters from the constructor\n\t *\n\t * @param {Parameter[]|[String][]} parameters Array of parameters to set\n\t * @private\n\t */\n\t_setParametersFromConstructor(parameters) {\n\t\tparameters.forEach((parameter) => {\n\t\t\tif (!(parameter instanceof Parameter)) {\n\t\t\t\tparameter = new Parameter(parameter[0], parameter[1])\n\t\t\t}\n\n\t\t\tthis.setParameter(parameter)\n\t\t})\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n\t * @param {CalendarComponent=} root The root of the calendar-document\n\t * @param {AbstractComponent=} parent The parent element of this property\n\t * @returns {Property}\n\t */\n\tstatic fromICALJs(icalProperty, root = null, parent = null) {\n\t\tif (!(icalProperty instanceof ICAL.Property)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tlet value\n\t\tif (icalProperty.isDecorated) {\n\t\t\tconst constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype)\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues().map((val) => constructor.fromICALJs(val))\n\t\t\t} else {\n\t\t\t\tvalue = constructor.fromICALJs(icalProperty.getFirstValue())\n\t\t\t}\n\t\t} else {\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues()\n\t\t\t} else {\n\t\t\t\tvalue = icalProperty.getFirstValue()\n\t\t\t}\n\t\t}\n\n\t\tconst parameters = []\n\t\tconst paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]))\n\t\tparamNames.forEach((paramName) => {\n\t\t\t// Timezone id is handled by DateTimeValue\n\t\t\tif (uc(paramName) === 'TZID') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tparameters.push([paramName, icalProperty.getParameter(paramName)])\n\t\t})\n\n\t\treturn new this(icalProperty.name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Returns an ICAL.js property based on this Property\n\t *\n\t * @returns {ICAL.Property}\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\n\t\tif (this.isMultiValue()) {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValues(this.value.map((val) => val.toICALJs()))\n\t\t\t} else {\n\t\t\t\ticalProperty.setValues(this.value)\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValue(this.value.toICALJs())\n\t\t\t} else {\n\t\t\t\ticalProperty.setValue(this.value)\n\n\t\t\t}\n\t\t}\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t}\n\n\t\tconst firstValue = this.getFirstValue()\n\t\tif (firstValue instanceof DateTimeValue\n\t\t\t&& firstValue.timezoneId !== 'floating'\n\t\t\t&& firstValue.timezoneId !== 'UTC'\n\t\t\t&& !firstValue.isDate) {\n\t\t\ticalProperty.setParameter('tzid', firstValue.timezoneId)\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport BinaryValue from './binaryValue.js'\nimport DurationValue from './durationValue.js'\nimport PeriodValue from './periodValue.js'\nimport RecurValue from './recurValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport UTCOffsetValue from './utcOffsetValue.js'\nimport UnknownICALTypeError from '../errors/unknownICALTypeError.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\nexport function getConstructorForICALType(icaltype) {\n\tswitch (lc(icaltype)) {\n\tcase 'binary':\n\t\treturn BinaryValue\n\n\tcase 'date':\n\tcase 'date-time':\n\t\treturn DateTimeValue\n\n\tcase 'duration':\n\t\treturn DurationValue\n\n\tcase 'period':\n\t\treturn PeriodValue\n\n\tcase 'recur':\n\t\treturn RecurValue\n\n\tcase 'utc-offset':\n\t\treturn UTCOffsetValue\n\n\tdefault:\n\t\tthrow new UnknownICALTypeError()\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\nexport default class AttachmentProperty extends Property {\n\n\t/**\n\t * Gets the format-type of this attachment\n\t *\n\t * @returns {String}\n\t */\n\tget formatType() {\n\t\treturn this.getParameterFirstValue('FMTTYPE')\n\t}\n\n\t/**\n\t * Sets the format-type of this attachment\n\t *\n\t * @param {String} fmtType Mime-type of attachment\n\t */\n\tset formatType(fmtType) {\n\t\tthis.updateParameterIfExist('FMTTYPE', fmtType)\n\t}\n\n\t/**\n\t * Gets the uri of this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget uri() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Sets the uri of this attachment\n\t *\n\t * @param {String} uri Link to attachment if applicable\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * Gets the encoding of this attachment\n\t *\n\t * @returns {string|null}\n\t */\n\tget encoding() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn 'BASE64'\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the data stored in this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget data() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn this._value.value\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Sets the data stored in this attachment\n\t *\n\t * @param {String} data The data of the attachment\n\t */\n\tset data(data) {\n\t\tif (this.value instanceof BinaryValue) {\n\t\t\tthis.value.value = data\n\t\t} else {\n\t\t\tthis.value = BinaryValue.fromDecodedValue(data)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\ticalProperty.setParameter('ENCODING', 'BASE64')\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String=} formatType The mime-type of the data\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromData(data, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new AttachmentProperty('ATTACH', binaryValue)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on a link\n\t *\n\t * @param {String} uri The URI for the attachment\n\t * @param {String=} formatType The mime-type of the uri\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromLink(uri, formatType = null) {\n\t\tconst property = new AttachmentProperty('ATTACH', uri)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { startStringWith, uc } from '../helpers/stringHelper.js'\n\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\nexport default class AttendeeProperty extends Property {\n\n\t/**\n\t * Returns the role of the attendee.\n\t *\n\t * @returns {string}\n\t */\n\tget role() {\n\t\tconst allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT']\n\t\tconst defaultValue = 'REQ-PARTICIPANT'\n\n\t\tif (this.hasParameter('ROLE')) {\n\t\t\tconst value = this.getParameterFirstValue('ROLE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets new role of the attendee\n\t *\n\t * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n\t */\n\tset role(role) {\n\t\tthis.updateParameterIfExist('ROLE', role)\n\t}\n\n\t/**\n\t * Returns the calendar-user-type of an attendee\n\t *\n\t * @returns {string}\n\t */\n\tget userType() {\n\t\tconst allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN']\n\n\t\tif (!this.hasParameter('CUTYPE')) {\n\t\t\treturn 'INDIVIDUAL'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('CUTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'UNKNOWN'\n\t\t}\n\t}\n\n\t/**\n\t * Sets new calendar-user-type of attendee\n\t *\n\t * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n\t */\n\tset userType(userType) {\n\t\tthis.updateParameterIfExist('CUTYPE', userType)\n\t}\n\n\t/**\n\t * Returns the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @returns {boolean}\n\t */\n\tget rsvp() {\n\t\tif (!this.hasParameter('RSVP')) {\n\t\t\treturn false\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RSVP')\n\t\t\treturn uc(value) === 'TRUE'\n\t\t}\n\t}\n\n\t/**\n\t * Updates the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @param {boolean} rsvp Whether or not to send out an invitation\n\t */\n\tset rsvp(rsvp) {\n\t\tthis.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE')\n\t}\n\n\t/**\n\t * Returns the common-name of the attendee\n\t *\n\t * @returns {string|null}\n\t */\n\tget commonName() {\n\t\treturn this.getParameterFirstValue('CN')\n\t}\n\n\t/**\n\t * Sets a new common-name of the attendee\n\t *\n\t * @param {string} commonName The display name of the attendee\n\t */\n\tset commonName(commonName) {\n\t\tthis.updateParameterIfExist('CN', commonName)\n\t}\n\n\t/**\n\t * Returns the participation-status of the attendee\n\t *\n\t * @returns {string}\n\t */\n\tget participationStatus() {\n\t\tlet vobjectType\n\t\tif (this.parent) {\n\t\t\tvobjectType = this.parent.name\n\t\t} else {\n\t\t\t// let's assume we are inside an event\n\t\t\t// if we don't know better\n\t\t\tvobjectType = 'VEVENT'\n\t\t}\n\n\t\tconst allowed = {\n\t\t\tVEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n\t\t\tVJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n\t\t\tVTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS'],\n\t\t}\n\n\t\tif (!this.hasParameter('PARTSTAT')) {\n\t\t\treturn 'NEEDS-ACTION'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('PARTSTAT')\n\t\t\tif (allowed[vobjectType].includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'NEEDS-ACTION'\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new participation-status of the attendee\n\t *\n\t * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n\t */\n\tset participationStatus(participationStatus) {\n\t\tthis.updateParameterIfExist('PARTSTAT', participationStatus)\n\t}\n\n\t/**\n\t * Gets this attendee's language\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets this attendee's language\n\t * This can be used to influence the language of the invitation email\n\t *\n\t * @param {String} language The preferred language of the attendee\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n\t/**\n\t * Gets the email of the attendee\n\t *\n\t * @returns {String}\n\t */\n\tget email() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the email address of the attendee\n\t *\n\t * @param {String} email The e-email address of the attendee\n\t */\n\tset email(email) {\n\t\tthis.value = startStringWith(email, 'mailto:')\n\t}\n\n\t/**\n\t * Is this attendee the organizer?\n\t *\n\t * @returns {boolean}\n\t */\n\tisOrganizer() {\n\t\treturn this._name === 'ORGANIZER'\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name and email\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameAndEMail(name, email, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [['CN', name]])\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {String} role The role\n\t * @param {String} userType The type of user\n\t * @param {Boolean} rsvp Whether to send out an invitation\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [\n\t\t\t['CN', name],\n\t\t\t['ROLE', role],\n\t\t\t['CUTYPE', userType],\n\t\t\t['RSVP', rsvp ? 'TRUE' : 'FALSE'],\n\t\t])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport ICAL from 'ical.js'\n\nICAL.design.icalendar.property.conference = {\n\tdefaultType: 'uri',\n}\n\nICAL.design.icalendar.param.feature = {\n\tvalueType: 'cal-address',\n\tmultiValue: ',',\n}\n\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\nexport default class ConferenceProperty extends Property {\n\n\t/**\n\t * Iterator that iterates over all supported features\n\t * of the conference system\n\t */\n\t* getFeatureIterator() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tyield * parameter.getValueIterator()\n\t}\n\n\t/**\n\t * Lists all supported features of the conference system\n\t *\n\t * @returns {String[]}\n\t */\n\tlistAllFeatures() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn []\n\t\t}\n\n\t\treturn this.getParameter('FEATURE').value.slice()\n\t}\n\n\t/**\n\t * Adds a supported feature to the conference system\n\t *\n\t * @param {String} featureToAdd Feature to add\n\t */\n\taddFeature(featureToAdd) {\n\t\tthis._modify()\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\tthis.updateParameterIfExist('FEATURE', [featureToAdd])\n\t\t} else {\n\t\t\tif (this.hasFeature(featureToAdd)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parameter = this.getParameter('FEATURE')\n\t\t\tparameter.value.push(featureToAdd)\n\t\t}\n\t}\n\n\t/**\n\t * Removes a supported feature\n\t *\n\t * @param {String} feature The feature to remove\n\t */\n\tremoveFeature(feature) {\n\t\tthis._modify()\n\t\tif (!this.hasFeature(feature)) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tconst index = parameter.value.indexOf(feature)\n\t\tparameter.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Removes all supported features from this conference system\n\t */\n\tclearAllFeatures() {\n\t\tthis.deleteParameter('FEATURE')\n\t}\n\n\t/**\n\t * Check if this conference system supports a feature\n\t *\n\t * @param {String} feature The feature to check\n\t * @returns {boolean}\n\t */\n\thasFeature(feature) {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tif (!Array.isArray(parameter.value)) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn parameter.value.includes(feature)\n\t}\n\n\t/**\n\t * Gets label for the conference system\n\t *\n\t * @returns {String}\n\t */\n\tget label() {\n\t\treturn this.getParameterFirstValue('LABEL')\n\t}\n\n\t/**\n\t * Updates the label for the conference system\n\t *\n\t * @param {String} label The label to set\n\t */\n\tset label(label) {\n\t\tthis.updateParameterIfExist('LABEL', label)\n\t}\n\n\t/**\n\t * Gets the uri for this conference system\n\t */\n\tget uri() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the uri for this conference system\n\t *\n\t * @param {String} uri The URI to set\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\ticalProperty.setParameter('value', 'URI')\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new ConferenceProperty based on URI, label and features\n\t *\n\t * @param {String} uri URI of the Conference\n\t * @param {String=} label Label of the conference\n\t * @param {String[]=} features Features of the conference\n\t * @returns {ConferenceProperty}\n\t */\n\tstatic fromURILabelAndFeatures(uri, label = null, features = null) {\n\t\tconst property = new ConferenceProperty('CONFERENCE', uri)\n\n\t\tif (label) {\n\t\t\tproperty.updateParameterIfExist('label', label)\n\t\t}\n\n\t\tif (features) {\n\t\t\tproperty.updateParameterIfExist('feature', features)\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\nexport default class FreeBusyProperty extends Property {\n\n\t/**\n\t * Gets the type of this FreeBusyProperty\n\t *\n\t * @returns {String}\n\t */\n\tget type() {\n\t\tconst allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE']\n\t\tconst defaultValue = 'BUSY'\n\n\t\tif (this.hasParameter('FBTYPE')) {\n\t\t\tconst value = this.getParameterFirstValue('FBTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets the type of this FreeBusyProperty\n\t *\n\t * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n\t */\n\tset type(type) {\n\t\tthis.updateParameterIfExist('FBTYPE', type)\n\t}\n\n\t/**\n\t * Creates a new FreeBusyProperty based on period and type\n\t *\n\t * @param {PeriodValue} period The period for FreeBusy Information\n\t * @param {String} type The type of the period\n\t * @returns {FreeBusyProperty}\n\t */\n\tstatic fromPeriodAndType(period, type) {\n\t\treturn new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\nexport default class GeoProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the latitude stored in this property\n\t *\n\t * @returns {Number}\n\t */\n\tget latitude() {\n\t\treturn this._value[0]\n\t}\n\n\t/**\n\t * Sets the latitude stored in this property\n\t *\n\t * @param {String|Number} lat Latitude\n\t */\n\tset latitude(lat) {\n\t\tthis._modifyContent()\n\t\tif (typeof lat !== 'number') {\n\t\t\tlat = parseFloat(lat)\n\t\t}\n\n\t\tthis._value[0] = lat\n\t}\n\n\t/**\n\t * Gets the longitude stored in this property\n\t */\n\tget longitude() {\n\t\treturn this._value[1]\n\t}\n\n\t/**\n\t * Sets the longitude stored in this property\n\t *\n\t * @param {String|Number} long Longitude\n\t */\n\tset longitude(long) {\n\t\tthis._modifyContent()\n\t\tif (typeof long !== 'number') {\n\t\t\tlong = parseFloat(long)\n\t\t}\n\n\t\tthis._value[1] = long\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but GEO is a (the one and only besides request-status) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new GeoProperty based on a latitude and a longitude value\n\t *\n\t * @param {Number} lat Latitude\n\t * @param {Number} long Longitude\n\t * @returns {GeoProperty}\n\t */\n\tstatic fromPosition(lat, long) {\n\t\treturn new GeoProperty('GEO', [lat, long])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\nexport default class ImageProperty extends AttachmentProperty {\n\n\t/**\n\t * Gets the image-type\n\t */\n\tget display() {\n\t\treturn this.getParameterFirstValue('DISPLAY') || 'BADGE'\n\t}\n\n\t/**\n\t * Gets the image-type\n\t *\n\t * @param {String} display The display-type image is optimized for\n\t */\n\tset display(display) {\n\t\tthis.updateParameterIfExist('DISPLAY', display)\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on data\n\t *\n\t * @param {String} data The data of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromData(data, display = null, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new ImageProperty('IMAGE', binaryValue)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on a link\n\t *\n\t * @param {String} uri The uri of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromLink(uri, display = null, formatType = null) {\n\t\tconst property = new ImageProperty('IMAGE', uri)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\nexport default class RelationProperty extends Property {\n\n\t/**\n\t * Get's the relation-type of this related-to property\n\t *\n\t * @returns {String}\n\t */\n\tget relationType() {\n\t\tconst allowed = ['PARENT', 'CHILD', 'SIBLING']\n\t\tconst defaultValue = 'PARENT'\n\n\t\tif (!this.hasParameter('RELTYPE')) {\n\t\t\treturn defaultValue\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RELTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn defaultValue\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new relation type\n\t *\n\t * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n\t */\n\tset relationType(relationType) {\n\t\tthis.updateParameterIfExist('RELTYPE', relationType)\n\t}\n\n\t/**\n\t * Gets Id of related object\n\t *\n\t * @returns {String}\n\t */\n\tget relatedId() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets a new related id\n\t *\n\t * @param {String} relatedId The Id of the related document\n\t */\n\tset relatedId(relatedId) {\n\t\tthis.value = relatedId\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t *\n\t * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n\t * @param {String} relId The Id of the related document\n\t * @returns {RelationProperty}\n\t */\n\tstatic fromRelTypeAndId(relType, relId) {\n\t\treturn new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\nexport default class RequestStatusProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the status code of the request status\n\t *\n\t * @returns {Number}\n\t */\n\tget statusCode() {\n\t\treturn parseFloat(this.value[0])\n\t}\n\n\t/**\n\t * Sets the status code of the request status\n\t *\n\t * @param {Number} statusCode The statusCode of the request\n\t */\n\tset statusCode(statusCode) {\n\t\tthis._modifyContent()\n\n\t\tthis.value[0] = statusCode.toString()\n\n\t\t// This makes sure 2.0 is actually saved as 2.0, not 2\n\t\tif (statusCode === Math.floor(statusCode)) {\n\t\t\tthis.value[0] += '.0'\n\t\t}\n\t}\n\n\t/**\n\t * Gets the status message of the request status\n\t *\n\t * @returns {string}\n\t */\n\tget statusMessage() {\n\t\treturn this.value[1]\n\t}\n\n\t/**\n\t * Sets the status message of the request status\n\t *\n\t * @param {String} statusMessage The message of the request\n\t */\n\tset statusMessage(statusMessage) {\n\t\tthis._modifyContent()\n\t\tthis.value[1] = statusMessage\n\t}\n\n\t/**\n\t * Gets the exception data of the request status if available\n\t *\n\t * @returns {null|String}\n\t */\n\tget exceptionData() {\n\t\tif (!this.value[2]) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this.value[2]\n\t}\n\n\t/**\n\t * Sets the exception dtat of the request status\n\t *\n\t * @param {String} exceptionData The additional exception-data\n\t */\n\tset exceptionData(exceptionData) {\n\t\tthis._modifyContent()\n\t\tthis.value[2] = exceptionData\n\t}\n\n\t/**\n\t * Check if request is pending\n\t *\n\t * @returns {boolean}\n\t */\n\tisPending() {\n\t\treturn this.statusCode >= 1 && this.statusCode < 2\n\t}\n\n\t/**\n\t * Check if request was successful\n\t *\n\t * @returns {boolean}\n\t */\n\tisSuccessful() {\n\t\treturn this.statusCode >= 2 && this.statusCode < 3\n\t}\n\n\t/**\n\t * Check if a client error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisClientError() {\n\t\treturn this.statusCode >= 3 && this.statusCode < 4\n\t}\n\n\t/**\n\t * Check if a scheduling error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisSchedulingError() {\n\t\treturn this.statusCode >= 4 && this.statusCode < 5\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new RequestStatusProperty from a code and a status message\n\t *\n\t * @param {Number} code The status-code of the request\n\t * @param {String} message The message of the request\n\t * @returns {RequestStatusProperty}\n\t */\n\tstatic fromCodeAndMessage(code, message) {\n\t\treturn new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message])\n\t}\n\n}\n\n// All request statuses registered in RFC 5546\nRequestStatusProperty.SUCCESS = [2.0, 'Success']\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.']\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.']\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.']\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.']\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.']\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.']\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.']\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.']\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.']\n\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.']\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.']\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.']\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.']\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.']\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.']\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.']\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.']\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.']\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.']\n\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.']\n\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.']\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.']\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.']\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.']\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class TextProperty\n * @classdesc\n */\nexport default class TextProperty extends Property {\n\n\t/**\n\t * Gets the alternate text\n\t *\n\t * @returns {String}\n\t */\n\tget alternateText() {\n\t\treturn this.getParameterFirstValue('ALTREP')\n\t}\n\n\t/**\n\t * Sets the alternate text\n\t *\n\t * @param {String} altRep The alternative text\n\t */\n\tset alternateText(altRep) {\n\t\tthis.updateParameterIfExist('ALTREP', altRep)\n\t}\n\n\t/**\n\t * Gets language of this property\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets language of this property\n\t *\n\t * @param {String} language The language of the text\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport DurationValue from '../values/durationValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\n\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\nexport default class TriggerProperty extends Property {\n\n\t/**\n\t * Gets the related parameter\n\t *\n\t * @returns {String}\n\t */\n\tget related() {\n\t\tif (!this.hasParameter('RELATED')) {\n\t\t\treturn 'START'\n\t\t}\n\n\t\treturn this.getParameterFirstValue('RELATED')\n\t}\n\n\t/**\n\t * Sets the related parameter\n\t *\n\t * @param {String} related Either START or END\n\t */\n\tset related(related) {\n\t\tthis.updateParameterIfExist('RELATED', related)\n\t}\n\n\t/**\n\t * Gets the value of this trigger\n\t * (If you override the setter, you also have to override the getter or\n\t * it will simply be undefined)\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n\t */\n\tget value() {\n\t\treturn super.value\n\t}\n\n\t/**\n\t * Set the value of this trigger\n\t *\n\t * @param {DurationValue|DateTimeValue} value The time of trigger\n\t */\n\tset value(value) {\n\t\tsuper.value = value\n\n\t\t// If it's not a duration, remove related parameter\n\t\tif (value instanceof DateTimeValue) {\n\t\t\tthis.deleteParameter('RELATED')\n\t\t\tsuper.value = value.getInUTC()\n\t\t}\n\t}\n\n\t/**\n\t * Gets whether this alarm trigger is relative\n\t *\n\t * @returns {boolean}\n\t */\n\tisRelative() {\n\t\treturn this.getFirstValue() instanceof DurationValue\n\t}\n\n\t/**\n\t * Creates a new absolute trigger\n\t *\n\t * @param {DateTimeValue} alarmTime Time to create Trigger from\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromAbsolute(alarmTime) {\n\t\treturn new TriggerProperty('TRIGGER', alarmTime.getInUTC())\n\t}\n\n\t/**\n\t * Creates a new relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset Duration to create Trigger from\n\t * @param {Boolean=} relatedToStart Related to Start or end?\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n\t\treturn new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport AttendeeProperty from './attendeeProperty.js'\nimport ConferenceProperty from './conferenceProperty.js'\nimport FreeBusyProperty from './freeBusyProperty.js'\nimport GeoProperty from './geoProperty.js'\nimport ImageProperty from './imageProperty.js'\nimport RelationProperty from './relationProperty.js'\nimport RequestStatusProperty from './requestStatusProperty.js'\nimport TextProperty from './textProperty.js'\nimport TriggerProperty from './triggerProperty.js'\nimport Property from './property.js'\nimport { uc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\nexport function getConstructorForPropertyName(propName) {\n\tswitch (uc(propName)) {\n\tcase 'ATTACH':\n\t\treturn AttachmentProperty\n\n\tcase 'ATTENDEE':\n\tcase 'ORGANIZER':\n\t\treturn AttendeeProperty\n\n\tcase 'CONFERENCE':\n\t\treturn ConferenceProperty\n\n\tcase 'FREEBUSY':\n\t\treturn FreeBusyProperty\n\n\tcase 'GEO':\n\t\treturn GeoProperty\n\n\tcase 'IMAGE':\n\t\treturn ImageProperty\n\n\tcase 'RELATED-TO':\n\t\treturn RelationProperty\n\n\tcase 'REQUEST-STATUS':\n\t\treturn RequestStatusProperty\n\n\tcase 'TRIGGER':\n\t\treturn TriggerProperty\n\n\tcase 'COMMENT':\n\tcase 'CONTACT':\n\tcase 'DESCRIPTION':\n\tcase 'LOCATION':\n\tcase 'SUMMARY':\n\t\treturn TextProperty\n\n\tdefault:\n\t\treturn Property\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport { lc, uc, ucFirst } from '../helpers/stringHelper.js'\nimport { createComponent } from '../factories/icalFactory.js'\nimport { getConstructorForPropertyName } from '../properties'\nimport Property from '../properties/property.js'\nimport Parameter from '../parameters/parameter.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class AbstractComponent\n */\nexport default class AbstractComponent extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name - Name of component\n\t * @param {Property[]} properties - Array of properties stored inside the component\n\t * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n\t * @param {CalendarComponent|null} root - The root of this calendar document\n\t * @param {AbstractComponent|null} parent - The parent component of this element\n\t */\n\tconstructor(name, properties = [], components = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of component\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * All properties in this component\n\t\t *\n\t\t * @type {Map<String, Property[]>}\n\t\t * @private\n\t\t */\n\t\tthis._properties = new Map()\n\n\t\t/**\n\t\t * All subcomponents of this component\n\t\t *\n\t\t * @type {Map<String, AbstractComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._components = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setPropertiesFromConstructor(properties)\n\t\tthis._setComponentsFromConstructor(components)\n\t}\n\n\t/**\n\t * Get the component's name\n\t *\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the root of this calendar-document\n\t *\n\t * @returns {CalendarComponent}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this calendar-document\n\t *\n\t * @param {CalendarComponent} root The new root element\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.root = root\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.root = root\n\t\t}\n\n\t}\n\n\t/**\n\t * Gets the parent component\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the parent component\n\t *\n\t * @param {AbstractComponent} parent The new parent element\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first property that matches the given propertyName\n\t *\n\t * @param {String} propertyName Name of the property to get\n\t * @returns {Property|null}\n\t */\n\tgetFirstProperty(propertyName) {\n\t\tif (!this._properties.has(uc(propertyName))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._properties.get(uc(propertyName))[0]\n\t}\n\n\t/**\n\t * Gets the first value of the first property matching that name\n\t *\n\t * @param {String} propertyName Name of the property to get first value of\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tgetFirstPropertyFirstValue(propertyName) {\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (!property) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn property.getFirstValue()\n\t}\n\n\t/**\n\t * update a property if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} propertyName Name of the property to update / create\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tthis._modify()\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (property) {\n\t\t\tproperty.value = value\n\t\t} else {\n\t\t\tconst constructor = getConstructorForPropertyName(propertyName)\n\t\t\tconst newProperty = new constructor(propertyName, value, [], this, this.root)\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\t/**\n\t * Returns iterator for all properties of a given propertyName\n\t * or if no propertyName was given over all available properties\n\t *\n\t * @param {String=} propertyName Name of the property to get an iterator for\n\t */\n\t* getPropertyIterator(propertyName = null) {\n\t\tif (propertyName) {\n\t\t\tif (!this.hasProperty(propertyName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._properties.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._properties.get(uc(propertyName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._properties.keys()) {\n\t\t\t\tyield * this.getPropertyIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all properties by name that match the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @private\n\t */\n\t* _getAllOfPropertyByLang(propertyName, lang) {\n\t\tfor (const property of this.getPropertyIterator(propertyName)) {\n\t\t\t// getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n\t\t\tif (property.getParameterFirstValue('LANGUAGE') === lang) {\n\t\t\t\tyield property\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the first property by name that matches the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @returns {Property|null}\n\t * @private\n\t */\n\t_getFirstOfPropertyByLang(propertyName, lang) {\n\t\tconst iterator = this._getAllOfPropertyByLang(propertyName, lang)\n\t\treturn iterator.next().value || null\n\t}\n\n\t/**\n\t * Adds a property\n\t *\n\t * @param {Property} property The property to add\n\t * @returns {boolean}\n\t */\n\taddProperty(property) {\n\t\tthis._modify()\n\n\t\tproperty.root = this.root\n\t\tproperty.parent = this\n\n\t\tif (this._properties.has(property.name)) {\n\t\t\tconst arr = this._properties.get(property.name)\n\t\t\tif (arr.indexOf(property) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(property)\n\t\t} else {\n\t\t\tthis._properties.set(property.name, [property])\n\t\t}\n\n\t\tproperty.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a property of the given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\thasProperty(propertyName) {\n\t\treturn this._properties.has(uc(propertyName))\n\t}\n\n\t/**\n\t * Removes the given property from this component\n\t *\n\t * @param {Property} property The property to delete\n\t * @returns {boolean}\n\t */\n\tdeleteProperty(property) {\n\t\tthis._modify()\n\t\tif (!this._properties.has(property.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._properties.get(property.name)\n\t\tconst index = arr.indexOf(property)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last property of the given name,\n\t\t\t// remove the entire array from _properties\n\t\t\t// This is required for hasProperty to work properly\n\t\t\tthis._properties.delete(property.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all properties of a given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis._modify()\n\t\treturn this._properties.delete(uc(propertyName))\n\t}\n\n\t/**\n\t * Gets the first component of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent|null}\n\t */\n\tgetFirstComponent(componentName) {\n\t\tif (!this.hasComponent(componentName)) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._components.get(uc(componentName))[0]\n\t}\n\n\t/**\n\t * Returns iterator for all components of a given componentName\n\t * or if no componentName was given over all available components\n\t *\n\t * @param {String=} componentName The name of the component\n\t */\n\t* getComponentIterator(componentName) {\n\t\tif (componentName) {\n\t\t\tif (!this.hasComponent(componentName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._components.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._components.get(uc(componentName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._components.keys()) {\n\t\t\t\tyield * this.getComponentIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds a new component to this component\n\t *\n\t * @param {AbstractComponent} component The component to add\n\t * @returns {Boolean}\n\t */\n\taddComponent(component) {\n\t\tthis._modify()\n\n\t\tcomponent.root = this.root\n\t\tcomponent.parent = this\n\n\t\tif (this._components.has(component.name)) {\n\t\t\tconst arr = this._components.get(component.name)\n\t\t\tif (arr.indexOf(component) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(component)\n\t\t} else {\n\t\t\tthis._components.set(component.name, [component])\n\t\t}\n\n\t\tcomponent.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a component of the given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\thasComponent(componentName) {\n\t\treturn this._components.has(uc(componentName))\n\t}\n\n\t/**\n\t * Removes the given component from this component\n\t *\n\t * @param {AbstractComponent} component The component to delete\n\t * @returns {boolean}\n\t */\n\tdeleteComponent(component) {\n\t\tthis._modify()\n\t\tif (!this._components.has(component.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._components.get(component.name)\n\t\tconst index = arr.indexOf(component)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last component of the given name,\n\t\t\t// remove the entire array from _components\n\t\t\t// This is required for hasComponent to work properly\n\t\t\tthis._components.delete(component.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all components of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis._modify()\n\t\treturn this._components.delete(uc(componentName))\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.lock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.lock()\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.unlock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tclone() {\n\t\tconst properties = []\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperties.push(property.clone())\n\t\t}\n\n\t\tconst components = []\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponents.push(component.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, properties, components, this.root, this.parent)\n\t}\n\n\t/**\n\t * Adds properties from constructor to this._properties\n\t *\n\t * @param {Property[]} properties Array of properties\n\t * @private\n\t */\n\t_setPropertiesFromConstructor(properties) {\n\t\tfor (let property of properties) {\n\t\t\tif (Array.isArray(property)) {\n\t\t\t\tconst constructor = getConstructorForPropertyName(property[0])\n\t\t\t\tproperty = new constructor(property[0], property[1])\n\t\t\t}\n\n\t\t\tthis.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Adds components from constructor to this._components\n\t *\n\t * @param {AbstractComponent[]} components Array of components\n\t * @private\n\t */\n\t_setComponentsFromConstructor(components) {\n\t\tfor (const component of components) {\n\t\t\tthis.addComponent(component)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Component} icalValue The ical.js component to initialise from\n\t * @param {CalendarComponent=} root The root of the Calendar Document\n\t * @param {AbstractComponent=} parent The parent element of this component\n\t * @returns {AbstractComponent}\n\t */\n\tstatic fromICALJs(icalValue, root = null, parent = null) {\n\t\tif (!(icalValue instanceof ICAL.Component)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tconst name = icalValue.name\n\t\tconst newComponent = new this(name, [], [], root, parent)\n\n\t\tfor (const icalProp of icalValue.getAllProperties()) {\n\t\t\tconst constructor = getConstructorForPropertyName(icalProp.name)\n\t\t\tconst property = constructor.fromICALJs(icalProp, root, newComponent)\n\t\t\tnewComponent.addProperty(property)\n\t\t}\n\n\t\tfor (const icalComp of icalValue.getAllSubcomponents()) {\n\t\t\tconst constructor = this._getConstructorForComponentName(icalComp.name)\n\t\t\tconst component = constructor.fromICALJs(icalComp, root, newComponent)\n\t\t\tnewComponent.addComponent(component)\n\t\t}\n\n\t\treturn newComponent\n\t}\n\n\t/**\n\t * Gets a constructor for a give component name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent}\n\t * @protected\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn AbstractComponent\n\t}\n\n\t/**\n\t * turns this Component into an ICAL.js component\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tconst component = createComponent(lc(this.name))\n\n\t\tfor (const prop of this.getPropertyIterator()) {\n\t\t\tcomponent.addProperty(prop.toICALJs())\n\t\t}\n\t\tfor (const comp of this.getComponentIterator()) {\n\t\t\tcomponent.addSubcomponent(comp.toICALJs())\n\t\t}\n\n\t\treturn component\n\t}\n\n}\n\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\nexport function advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n\toptions = getDefaultOncePropConfig(options)\n\n\tObject.defineProperty(prototype, options.name, {\n\t\tget: function() {\n\t\t\tconst value = this.getFirstPropertyFirstValue(options.iCalendarName)\n\n\t\t\tif (!value) {\n\t\t\t\treturn options.defaultValue\n\t\t\t} else {\n\t\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\t\treturn options.unknownValue\n\t\t\t\t}\n\n\t\t\t\treturn value\n\t\t\t}\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis._modify()\n\n\t\t\tif (value === null) {\n\t\t\t\tthis.deleteAllProperties(options.iCalendarName)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\tthrow new TypeError('Illegal value')\n\t\t\t}\n\t\t\tthis.updatePropertyWithValue(options.iCalendarName, value)\n\t\t},\n\t})\n}\n\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultipleOccurrenceProperty(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getPropertyIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(property) {\n\t\tthis.deleteProperty(property)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllProperties(options.iCalendarName)\n\t}\n}\n\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * (lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function(lang = null) {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang))\n\t}\n\n\tprototype['add' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tconst property = this._getFirstOfPropertyByLang(options.iCalendarName, lang)\n\t\tif (property) {\n\t\t\tproperty.addValue(value)\n\t\t} else {\n\t\t\tconst newProperty = new Property(options.iCalendarName, [value])\n\t\t\tif (lang) {\n\t\t\t\tconst languageParameter = new Parameter('LANGUAGE', lang)\n\t\t\t\tnewProperty.setParameter(languageParameter)\n\t\t\t}\n\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tif (property.isMultiValue() && property.hasValue(value)) {\n\t\t\t\tif (property.value.length === 1) {\n\t\t\t\t\tthis.deleteProperty(property)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tproperty.removeValue(value)\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function(lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tthis.deleteProperty(property)\n\t\t}\n\t}\n}\n\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\nexport function advertiseComponent(prototype, options) {\n\toptions = getDefaultMultipleCompConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getComponentIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(component) {\n\t\tthis.deleteComponent(component)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllComponents(options.iCalendarName)\n\t}\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\nfunction getDefaultOncePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t\tallowedValues: null,\n\t\tdefaultValue: null,\n\t\tunknownValue: null,\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultiplePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultipleCompConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: 'V' + uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nexport function dateFactory() {\n\treturn new Date()\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class RecurringWithoutDtStartError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from '../properties/property.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\nimport RecurringWithoutDtStartError from '../errors/recurringWithoutDtStartError.js'\nimport PeriodValue from '../values/periodValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\nexport default class RecurrenceManager {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tconstructor(masterItem) {\n\n\t\t/**\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._masterItem = masterItem\n\n\t\t/**\n\t\t * Set of Recurrence exception items\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * A sorted index of recurrence ids with range\n\t\t *\n\t\t * @type {Number[]}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsIndex = []\n\n\t\t/**\n\t\t * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n\t\t *\n\t\t * @type {Map<Number, DurationValue>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache = new Map()\n\n\t\t/**\n\t\t * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItems = new Map()\n\t}\n\n\t/**\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this._masterItem\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tset masterItem(masterItem) {\n\t\tthis._masterItem = masterItem\n\t}\n\n\t/**\n\t * Gets an iterator over all registered recurrence exceptions of this calendar-document\n\t */\n\t* getRecurrenceExceptionIterator() {\n\t\tyield * this._recurrenceExceptionItems.values()\n\t}\n\n\t/**\n\t * Gets a list of all registered recurrence-exceptions of this calendar-document\n\t *\n\t * @returns {AbstractRecurringComponent[]}\n\t */\n\tgetRecurrenceExceptionList() {\n\t\treturn Array.from(this.getRecurrenceExceptionIterator())\n\t}\n\n\t/**\n\t * Checks if there is a recurrence Exception for a given recurrenceId\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.has(recurrenceId)\n\t}\n\n\t/**\n\t * Gets the recurrence exception for a given recurrence Id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRecurrenceException(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.get(recurrenceId) || null\n\t}\n\n\t/**\n\t * Check if there is a recurrence-exception with a range for a given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId\n\t}\n\n\t/**\n\t * Get recurrence-exception with range that's affecting the given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\trecurrenceId,\n\t\t\t(a, b) => a - b\n\t\t)\n\n\t\tif (index === 0) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst key = this._rangeRecurrenceExceptionItemsIndex[index - 1]\n\t\treturn this._rangeRecurrenceExceptionItems.get(key)\n\t}\n\n\t/**\n\t * Gets the difference between recurrence-id and start\n\t * Mostly needed to handle recurrence-exceptions with range\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {DurationValue|null}\n\t */\n\tgetRangeRecurrenceExceptionDiff(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n\t\t\treturn this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId)\n\t\t}\n\n\t\tconst recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\tif (!recurrenceException) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst originalRecurrenceId = recurrenceException.recurrenceId\n\t\tconst originalModifiedStart = recurrenceException.startDate\n\n\t\tconst difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId)\n\t\tdifference.lock()\n\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference)\n\t\treturn difference\n\t}\n\n\t/**\n\t * Adds a new recurrence-exception to this calendar-document\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n\t */\n\trelateRecurrenceException(recurrenceExceptionItem) {\n\t\tthis._modify()\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\n\t\tthis._recurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\tif (recurrenceExceptionItem.modifiesFuture()) {\n\t\t\tthis._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\t\tkey,\n\t\t\t\t(a, b) => a - b\n\t\t\t)\n\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key)\n\t\t}\n\n\t\trecurrenceExceptionItem.recurrenceManager = this\n\t}\n\n\t/**\n\t * Removes a recurrence exception by the item itself\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n\t */\n\tremoveRecurrenceException(recurrenceExceptionItem) {\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\t\tthis.removeRecurrenceExceptionByRecurrenceId(key)\n\t}\n\n\t/**\n\t * Removes a recurrence exception by it's unix-time\n\t *\n\t * @param {Number} recurrenceId The recurrence-exception to remove\n\t */\n\tremoveRecurrenceExceptionByRecurrenceId(recurrenceId) {\n\t\tthis._modify()\n\t\tthis._recurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId)\n\n\t\tconst index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId)\n\t\tif (index !== -1) {\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 1)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n\t * @returns {Number}\n\t * @private\n\t */\n\t_getRecurrenceIdKey(recurrenceExceptionItem) {\n\t\treturn recurrenceExceptionItem\n\t\t\t.recurrenceId\n\t\t\t.unixTime\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence rules\n\t */\n\t* getRecurrenceRuleIterator() {\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tyield property.getFirstValue()\n\t\t}\n\t}\n\n\t/**\n\t * Gets a list of all recurrence rules\n\t *\n\t * @returns {RecurValue[]}\n\t */\n\tgetRecurrenceRuleList() {\n\t\treturn Array.from(this.getRecurrenceRuleIterator())\n\t}\n\n\t/**\n\t * Adds a new recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to add\n\t */\n\taddRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst property = new Property('RRULE', recurrenceRule)\n\t\tthis._masterItem.addProperty(property)\n\t}\n\n\t/**\n\t * Removes a recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to remove\n\t */\n\tremoveRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tif (property.getFirstValue() === recurrenceRule) {\n\t\t\t\tthis._masterItem.deleteProperty(property)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes all recurrence rules\n\t */\n\tclearAllRecurrenceRules() {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tthis._masterItem.deleteAllProperties('RRULE')\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t */\n\t* getRecurrenceDateIterator(isNegative = false, valueType = null) {\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t * @returns {(DateTimeValue|PeriodValue)[]}\n\t */\n\tlistAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\treturn Array.from(this.getRecurrenceDateIterator(isNegative, valueType))\n\t}\n\n\t/**\n\t * This adds a new recurrence-date value.\n\t * It automatically adds it to the first property of the same value-type\n\t * or creates a new one if necessary\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value EXDATE to add\n\t */\n\taddRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\t// Only add DateTime Value if its of the same timezone\n\t\tlet timezoneId = null\n\t\tif (value instanceof DateTimeValue && !value.isDate) {\n\t\t\ttimezoneId = value.timezoneId\n\t\t}\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tconst iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId)\n\n\t\tconst first = iterator.next.value\n\t\tif (first instanceof Property) {\n\t\t\tconst propertyValue = first.value\n\t\t\tpropertyValue.push(value)\n\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t} else {\n\t\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\t\t\tconst property = new Property(propertyName, value)\n\t\t\tthis._masterItem.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Checks if a recurrenceID is an RDATE or EXDATE\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (let value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tif (value instanceof PeriodValue) {\n\t\t\t\tvalue = value.start\n\t\t\t}\n\n\t\t\tif (value.compare(recurrenceId) === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\t/**\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {null|DateTimeValue|PeriodValue}\n\t */\n\tgetRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (const value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tlet valueToCheck = value\n\t\t\tif (valueToCheck instanceof PeriodValue) {\n\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t}\n\n\t\t\tif (valueToCheck.compare(recurrenceId) === 0) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * This deletes a recurrence-date value from this recurrence-set\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n\t */\n\tremoveRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tfor (const valueToCheck of property.getValueIterator()) {\n\t\t\t\tif (value === valueToCheck) {\n\t\t\t\t\tconst allValues = property.value\n\n\t\t\t\t\tif (allValues.length === 1) {\n\t\t\t\t\t\tthis.masterItem.deleteProperty(property)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tconst index = allValues.indexOf(value)\n\t\t\t\t\tallValues.splice(index, 1)\n\t\t\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clears all recurrence-date information\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String} valueType The type of RDATEs/EXDATEs to remove\n\t */\n\tclearAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tthis._masterItem.deleteProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Gets the property name for recurrence dates based on the isNegative boolean\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @returns {string}\n\t * @private\n\t */\n\t_getPropertyNameByIsNegative(isNegative) {\n\t\treturn isNegative\n\t\t\t? 'EXDATE'\n\t\t\t: 'RDATE'\n\t}\n\n\t/**\n\t * Gets the value type based on the provided value\n\t *\n\t * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n\t * @returns {string}\n\t * @private\n\t */\n\t_getValueTypeByValue(value) {\n\t\tif (value instanceof PeriodValue) {\n\t\t\treturn 'PERIOD'\n\t\t} else if (value.isDate) {\n\t\t\treturn 'DATE'\n\t\t} else {\n\t\t\treturn 'DATETIME'\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String|null} valueType The type of values to get\n\t * @param {ICAL.Timezone=} timezoneId Filter by timezone\n\t * @private\n\t */\n\t* _getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\n\t\tfor (const property of this._masterItem.getPropertyIterator(propertyName)) {\n\t\t\tif (valueType === null) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n\t\t\t\tif (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n\t\t\t\t\tyield property\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the entire set of recurrence rules is finite\n\t *\n\t * @returns {boolean}\n\t */\n\tisFinite() {\n\t\treturn this.getRecurrenceRuleList().every((rule) => rule.isFinite())\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t */\n\tisEmptyRecurrenceSet() {\n\t\treturn this._getRecurExpansionObject().next() === undefined\n\t}\n\n\t/**\n\t * Gets the occurrence at the exact given recurrenceId\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetOccurrenceAtExactly(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\t\treturn this.masterItem\n\t\t\t}\n\n\t\t\treturn null\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst icalRecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(icalRecurrenceId) === 0) {\n\t\t\t\t// It's a match 🔥\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next))\n\t\t\t}\n\n\t\t\tif (next.compare(icalRecurrenceId) === 1) {\n\t\t\t\t// We hit an occurrence in the future, return null\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the closest occurrence to the given recurrenceId.\n\t * That's either the closest in the future, or in case the\n\t * recurrence-set ends before recurrenceId, the last one\n\t *\n\t * This function works solely on the basis of recurrence-ids.\n\t * It ignores the actual date of recurrence-exceptions.\n\t * Ideally we should fix it and provide a similar implementation\n\t * like getAllOccurrencesBetweenIterator, but for now it's the\n\t * accepted behavior.\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tgetClosestOccurrence(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\treturn this.masterItem\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\trecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet previous = null\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(recurrenceId) === -1) {\n\t\t\t\tprevious = next\n\t\t\t} else {\n\t\t\t\t// This is the case when it's either equal or in the future\n\t\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t\t\t}\n\t\t}\n\n\t\tconst dateTimeValue = DateTimeValue.fromICALJs(previous)\n\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t * Start and End are inclusive\n\t *\n\t * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n\t * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n\t */\n\t* getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (typeof this.masterItem.isInTimeFrame !== 'function') {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\t\t\tif (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\n\t\t\treturn\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs()\n\t\tconst queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs()\n\n\t\tconst recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys())\n\t\tconst maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys)\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\t// We have to get the real occurrence to resolve RECURRENCE-IDs\n\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\tconst occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\n\t\t\t// Check what type of recurrence object we are dealing with\n\t\t\t// Depending on that, the time to compare to changes\n\t\t\t// If we are dealing events, we have to compare to the end-date\n\t\t\t// If we are dealing with tasks, we will have to compare to the due-date\n\t\t\t// etc.\n\t\t\t// For now we are only implementing events, other components will come later\n\t\t\tlet compareDate = null\n\t\t\tswitch (uc(occurrence.name)) {\n\t\t\tcase 'VEVENT':\n\t\t\tcase 'VTODO':\n\t\t\t\tcompareDate = occurrence.endDate.toICALJs()\n\t\t\t\tbreak\n\n\t\t\tcase 'VJOURNAL':\n\t\t\tdefault:\n\t\t\t\tcompareDate = next\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// If the date we are comparing to is before our time-range,\n\t\t\t// we don't want to yield this event\n\t\t\tif (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// If we have an object that is:\n\t\t\t// 1. either\n\t\t\t// 1.1 - no recurrence exception\n\t\t\t// or\n\t\t\t// 1.2 - a recurrence-exception that modifies the future\n\t\t\t// and\n\t\t\t// 2. starts after the queried time-range ends, then we stop expanding\n\t\t\tconst startDate = occurrence.startDate.toICALJs()\n\t\t\tif ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n\t\t\t\t// Just break if there are no recurrence-exceptions\n\t\t\t\tif (this._recurrenceExceptionItems.size === 0) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\t// Keep iterating until our currently checked recurrenceId\n\t\t\t\t// is bigger than the maximum recurrence-id that we have.\n\t\t\t\tif (next.toUnixTime() > maximumRecurrenceId) {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof occurrence.isInTimeFrame !== 'function') {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t\tif (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t *\n\t * @param {DateTimeValue} start Start of time-range\n\t * @param {DateTimeValue} end End of time-range\n\t * @returns {(*|null)[]}\n\t */\n\tgetAllOccurrencesBetween(start, end) {\n\t\treturn Array.from(this.getAllOccurrencesBetweenIterator(start, end))\n\t}\n\n\t/**\n\t * Update the UID of all components in the recurrence set\n\t *\n\t * @param {String} newUID The new UID of the calendar-document\n\t */\n\tupdateUID(newUID) {\n\t\tthis._masterItem.updatePropertyWithValue('UID', newUID)\n\n\t\tfor (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n\t\t\trecurrenceExceptionItem.updatePropertyWithValue('UID', newUID)\n\t\t}\n\t}\n\n\t/**\n\t * Updates the recurrence-information accordingly,\n\t * whenever the start-date of the master-item changes\n\t *\n\t * @param {DateTimeValue} newStartDate The new start-date\n\t * @param {DateTimeValue} oldStartDate The old start-date\n\t */\n\tupdateStartDateOfMasterItem(newStartDate, oldStartDate) {\n\t\tconst difference = newStartDate.subtractDateWithTimezone(oldStartDate)\n\n\t\t// update EXDATE\n\t\tfor (const exdate of this.getRecurrenceDateIterator(true)) {\n\t\t\t// If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n\t\t\tif (this.hasRecurrenceDate(false, exdate)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// EXDATE are always either DATE or DATETIME,\n\t\t\t// no need to check for PERIOD\n\t\t\texdate.addDuration(difference)\n\t\t}\n\n\t\tfor (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n\t\t\t// We don't edit RDATES, so don't update recurrence-ids if they\n\t\t\t// are based on an RDATE\n\t\t\tif (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tthis.removeRecurrenceException(recurrenceException)\n\t\t\trecurrenceException.recurrenceId.addDuration(difference)\n\t\t\tthis.relateRecurrenceException(recurrenceException)\n\t\t}\n\n\t\t// update UNTIL of recurrence-rules\n\t\tfor (const rrule of this.getRecurrenceRuleIterator()) {\n\t\t\tif (rrule.until) {\n\t\t\t\trrule.until.addDuration(difference)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets an object for the given recurrenceId\n\t * It does not verify that the given recurrenceId\n\t * is actually a valid recurrence of this calendar-document\n\t *\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {AbstractRecurringComponent}\n\t * @private\n\t */\n\t_getOccurrenceAtRecurrenceId(recurrenceId) {\n\t\tif (this.hasRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst recurrenceException = this.getRecurrenceException(recurrenceId)\n\n\t\t\tif (!recurrenceException.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn recurrenceException\n\t\t\t}\n\n\t\t\treturn recurrenceException\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\t\tconst difference = this.getRangeRecurrenceExceptionDiff(recurrenceId)\n\n\t\t\treturn rangeRecurrenceException\n\t\t\t\t.forkItem(recurrenceId, difference)\n\t\t} else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n\t\t\tif (!this._masterItem.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn this._masterItem\n\t\t\t}\n\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else {\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal recur-expansion object.\n\t * This is necessary after each modification of the\n\t * recurrence-information\n\t */\n\tresetCache() {\n\t\t// TODO - implement me\n\t}\n\n\t/**\n\t * Gets a new ICAL.RecurExpansion object\n\t *\n\t * Inspired by how ICAL.JS RecurExpansion\n\t * serialises and unserialises its state\n\t *\n\t * @returns {ICAL.RecurExpansion}\n\t * @private\n\t */\n\t_getRecurExpansionObject() {\n\t\tif (this._masterItem.startDate === null) {\n\t\t\tthrow new RecurringWithoutDtStartError()\n\t\t}\n\n\t\tconst dtstart = this._masterItem.startDate.toICALJs()\n\t\tlet last = dtstart.clone()\n\t\tconst ruleIterators = []\n\t\tlet ruleDateInc\n\t\tconst ruleDates = []\n\t\tlet ruleDate = null\n\t\tconst exDates = []\n\t\tconst complete = false\n\n\t\tfor (const ruleValue of this.getRecurrenceRuleIterator()) {\n\t\t\truleIterators.push(ruleValue.toICALJs().iterator(dtstart))\n\t\t\truleIterators[ruleIterators.length - 1].next()\n\t\t}\n\n\t\tfor (let rDateValue of this.getRecurrenceDateIterator()) {\n\t\t\tif (rDateValue instanceof PeriodValue) {\n\t\t\t\trDateValue = rDateValue.start\n\t\t\t}\n\n\t\t\trDateValue = rDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\trDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\n\t\t\truleDates.splice(index, 0, rDateValue)\n\t\t}\n\n\t\t// Is the first RDATE prior to our current DTSTART?\n\t\tif (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n\t\t\truleDateInc = 0\n\t\t\tlast = ruleDates[0].clone()\n\t\t} else {\n\t\t\truleDateInc = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\tdtstart,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\truleDate = exDates[ruleDateInc]\n\t\t}\n\n\t\tfor (let exDateValue of this.getRecurrenceDateIterator(true)) {\n\t\t\texDateValue = exDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\texDates,\n\t\t\t\texDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\texDates.splice(index, 0, exDateValue)\n\t\t}\n\n\t\tconst exDateInc = ICAL.helpers.binsearchInsert(\n\t\t\texDates,\n\t\t\tdtstart,\n\t\t\t(a, b) => a.compare(b)\n\t\t)\n\t\tconst exDate = exDates[exDateInc]\n\n\t\treturn new ICAL.RecurExpansion({\n\t\t\tdtstart,\n\t\t\tlast,\n\t\t\truleIterators,\n\t\t\truleDateInc,\n\t\t\texDateInc,\n\t\t\truleDates,\n\t\t\truleDate,\n\t\t\texDates,\n\t\t\texDate,\n\t\t\tcomplete,\n\t\t})\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_modify() {\n\t\tif (this._masterItem.isLocked()) {\n\t\t\tthrow new ModificationNotAllowedError()\n\t\t}\n\t}\n\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\n\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\nexport default class TimezoneComponent extends AbstractComponent {\n\n\t/**\n\t * Returns a calendar-js Timezone object\n\t *\n\t * @returns {Timezone}\n\t */\n\ttoTimezone() {\n\t\treturn new Timezone(this.toICALJs())\n\t}\n\n}\n\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n\tname: 'timezoneId',\n\tiCalendarName: 'tzid',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport TimezoneComponent from '../components/root/timezoneComponent.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Timezone\n */\nexport default class Timezone {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n\t * @param {String?} ics The iCalendar timezone definition\n\t */\n\tconstructor(timezoneId, ics) {\n\n\t\t/**\n\t\t * Id of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneId = null\n\n\t\t/**\n\t\t * ICS representation of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._ics = null\n\n\t\t/**\n\t\t * @type {ICAL.Timezone|null}\n\t\t */\n\t\tthis._innerValue = null\n\n\t\t/**\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._initialized = false\n\n\t\t// If the first parameter is already\n\t\t// an instance of ICAL.Timezone,\n\t\t// skip lazy loading\n\t\tif (timezoneId instanceof ICAL.Timezone) {\n\t\t\tthis._innerValue = timezoneId\n\t\t\tthis._initialized = true\n\t\t} else if (timezoneId instanceof ICAL.Component) {\n\t\t\tthis._innerValue = new ICAL.Timezone(timezoneId)\n\t\t\tthis._initialized = true\n\t\t} else {\n\t\t\tthis._timezoneId = timezoneId\n\t\t\tthis._ics = ics\n\t\t}\n\t}\n\n\t/**\n\t * Gets the timezone id\n\t *\n\t * @returns {String}\n\t */\n\tget timezoneId() {\n\t\tif (this._initialized) {\n\t\t\treturn this._innerValue.tzid\n\t\t}\n\n\t\treturn this._timezoneId\n\t}\n\n\t/**\n\t * Gets the UTC Offset for a given date in this timezone\n\t *\n\t * @param {Number} year Year of the date\n\t * @param {Number} month Month of the date (1-based)\n\t * @param {Number} day Day of the date\n\t * @param {Number} hour Hour of the date\n\t * @param {Number} minute Minute of the date\n\t * @param {Number} second Second of the date\n\t * @returns {Number}\n\t */\n\toffsetForArray(year, month, day, hour, minute, second) {\n\t\tthis._initialize()\n\n\t\tconst time = new ICAL.Time({\n\t\t\tyear,\n\t\t\tmonth,\n\t\t\tday,\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond,\n\t\t\tisDate: false,\n\t\t})\n\t\treturn this._innerValue.utcOffset(time)\n\t}\n\n\t/**\n\t * Converts a timestamp to an array of year, month, day, hour, minute, second.\n\t *\n\t * @param {Number} ms Timestamp in milliseconds\n\t * @returns {Number[]}\n\t */\n\ttimestampToArray(ms) {\n\t\tthis._initialize()\n\n\t\t// just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\t\tconst time = ICAL.Time.fromData({\n\t\t\tyear: 1970,\n\t\t\tmonth: 1,\n\t\t\tday: 1,\n\t\t\thour: 0,\n\t\t\tminute: 0,\n\t\t\tsecond: 0,\n\t\t})\n\t\ttime.fromUnixTime(Math.floor(ms / 1000))\n\n\t\tconst local = time.convertToZone(this._innerValue)\n\t\treturn [\n\t\t\tlocal.year,\n\t\t\tlocal.month, // THIS is 1-based !\n\t\t\tlocal.day,\n\t\t\tlocal.hour,\n\t\t\tlocal.minute,\n\t\t\tlocal.second,\n\t\t]\n\t}\n\n\t/**\n\t *\n\t * @returns {TimezoneComponent}\n\t */\n\ttoTimezoneComponent() {\n\t\treturn TimezoneComponent.fromICALJs(this.toICALJs())\n\t}\n\n\t/**\n\t * Returns\n\t *\n\t * @returns {ICAL.Timezone}\n\t */\n\ttoICALTimezone() {\n\t\tthis._initialize()\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * Returns the corresponding ICAL.\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tthis._initialize()\n\t\treturn this._innerValue.component\n\t}\n\n\t/**\n\t * Initialises the inner ICAL.Timezone component\n\t *\n\t * @private\n\t */\n\t_initialize() {\n\t\tif (!this._initialized) {\n\t\t\tconst jCal = ICAL.parse(this._ics)\n\t\t\tconst icalComp = new ICAL.Component(jCal)\n\t\t\tthis._innerValue = new ICAL.Timezone(icalComp)\n\t\t\tthis._initialized = true\n\t\t}\n\t}\n\n}\n\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone)\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone)\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\n\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\nexport default class AlarmComponent extends AbstractComponent {\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name - Name of the attendee\n\t * @param {String} email - E-Mail address of the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this.addProperty(attendeeProperty)\n\t}\n\n\t/**\n\t * Gets the trigger property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n\t *\n\t * @returns {TriggerProperty}\n\t */\n\tget trigger() {\n\t\treturn this.getFirstProperty('TRIGGER')\n\t}\n\n\t/**\n\t * Sets an absolute alarm\n\t *\n\t * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n\t */\n\tsetTriggerFromAbsolute(alarmTime) {\n\t\tconst triggerProperty = TriggerProperty.fromAbsolute(alarmTime)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n\t/**\n\t * Sets a relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n\t * @param {Boolean=} relatedToStart - Related to Start or end?\n\t */\n\tsetTriggerFromRelative(alarmOffset, relatedToStart = true) {\n\t\tconst triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n}\n\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action')\n\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description')\n\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary')\n\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration')\n\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat')\n\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseComponent,\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport DateTimeValue from '../../values/dateTimeValue.js'\nimport DurationValue from '../../values/durationValue.js'\nimport PeriodValue from '../../values/periodValue.js'\nimport { dateFactory } from '../../factories/dateFactory.js'\nimport { uc } from '../../helpers/stringHelper.js'\nimport RecurrenceManager from '../../recurrence/recurrenceManager.js'\nimport { v4 as uuid } from 'uuid'\nimport RelationProperty from '../../properties/relationProperty.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport Timezone from '../../timezones/timezone.js'\nimport RequestStatusProperty from '../../properties/requestStatusProperty.js'\nimport AttachmentProperty from '../../properties/attachmentProperty.js'\nimport ImageProperty from '../../properties/imageProperty.js'\nimport TextProperty from '../../properties/textProperty.js'\nimport AlarmComponent from '../nested/alarmComponent.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\nimport { getConfig } from '../../config.js'\nimport { getConstructorForComponentName } from '../nested'\n\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\nexport default class AbstractRecurringComponent extends AbstractComponent {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * In case this object is virtual, primary item refers to the master object\n\t\t * that this object was forked from.\n\t\t *\n\t\t * Otherwise primary item is null\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._primaryItem = null\n\n\t\t/**\n\t\t * Indicator whether this is a direct fork of a primary item, representing\n\t\t * the very same recurrence id\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._isExactForkOfPrimary = false\n\n\t\t/**\n\t\t * The original recurrence-id of this occurrence.\n\t\t * Mostly needed for range exceptions with a range\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._originalRecurrenceId = null\n\n\t\t/**\n\t\t * Instance of the recurrence manager.\n\t\t * This object is shared among all instances\n\t\t * of a recurrence-set\n\t\t *\n\t\t * @type {RecurrenceManager}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceManager = null\n\n\t\t/**\n\t\t * Indicator whether this component was modified\n\t\t * In case it was, the last-modified property\n\t\t * needs to be updated before saving the event\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._dirty = false\n\n\t\t/**\n\t\t * Indicator whether there have been significant changes\n\t\t * In case the changes are considered significant,\n\t\t * the sequence needs to be incremented\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._significantChange = false\n\n\t\t/**\n\t\t * Id of this AbstractRecurringComponent\n\t\t *\n\t\t * @type {String|null}\n\t\t * @private\n\t\t */\n\t\tthis._cachedId = null\n\t}\n\n\t/**\n\t * Gets the primary-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget primaryItem() {\n\t\treturn this._primaryItem\n\t}\n\n\t/**\n\t * Sets the primary-item of this recurring item\n\t *\n\t * @param {AbstractRecurringComponent} primaryItem The new primary-item\n\t */\n\tset primaryItem(primaryItem) {\n\t\tthis._modify()\n\t\tthis._primaryItem = primaryItem\n\t}\n\n\t/**\n\t * Gets whether or not this is a fork of the primary item\n\t * for the same recurrence-id\n\t *\n\t * @returns {boolean}\n\t */\n\tget isExactForkOfPrimary() {\n\t\treturn this._isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Sets the isExactForkOfPrimary indicator, see getter for description\n\t *\n\t * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n\t */\n\tset isExactForkOfPrimary(isExactForkOfPrimary) {\n\t\tthis._isExactForkOfPrimary = isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Gets the original recurrence-id\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget originalRecurrenceId() {\n\t\treturn this._originalRecurrenceId\n\t}\n\n\t/**\n\t * Sets the original recurrence-id\n\t *\n\t * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n\t */\n\tset originalRecurrenceId(originalRecurrenceId) {\n\t\tthis._originalRecurrenceId = originalRecurrenceId\n\t}\n\n\t/**\n\t * Gets the recurrence-manager of this recurrence-set\n\t *\n\t * @returns {RecurrenceManager}\n\t */\n\tget recurrenceManager() {\n\t\treturn this._recurrenceManager\n\t}\n\n\t/**\n\t * Sets the recurrence-manager of this recurrence-set\n\t *\n\t * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n\t */\n\tset recurrenceManager(recurrenceManager) {\n\t\tthis._recurrenceManager = recurrenceManager\n\t}\n\n\t/**\n\t * Gets the master-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this.recurrenceManager.masterItem\n\t}\n\n\t/**\n\t * Returns whether this item is the master item\n\t *\n\t * @returns {boolean}\n\t */\n\tisMasterItem() {\n\t\treturn this.masterItem === this\n\t}\n\n\t/**\n\t * Gets a unique ID for this occurrence of the event\n\t *\n\t * Please note that if the same event occurs in multiple calendars,\n\t * this id will not be unique. Software using this library will have to\n\t * manually mix in the calendar id into this id\n\t *\n\t * @returns {String}\n\t */\n\tget id() {\n\t\tif (this._cachedId) {\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tif (this.startDate === null) {\n\t\t\tthis._cachedId = encodeURIComponent(this.uid)\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tthis._cachedId = [\n\t\t\tencodeURIComponent(this.uid),\n\t\t\tencodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString()),\n\t\t].join('###')\n\n\t\treturn this._cachedId\n\t}\n\n\t/**\n\t * Gets the UID property\n\t *\n\t * @returns {String|null}\n\t */\n\tget uid() {\n\t\treturn this.getFirstPropertyFirstValue('UID')\n\t}\n\n\t/**\n\t * Sets the UID property and the UID property of all related exceptions\n\t *\n\t * @param {String} uid The new UID\n\t */\n\tset uid(uid) {\n\t\tthis._recurrenceManager.updateUID(uid)\n\t}\n\n\t/**\n\t * Gets the start date of the event\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('dtstart')\n\t}\n\n\t/**\n\t * Sets the start date of the event\n\t *\n\t * @param {DateTimeValue} start The new start-date to set\n\t */\n\tset startDate(start) {\n\t\tconst oldStartDate = this.startDate\n\t\tthis.updatePropertyWithValue('dtstart', start)\n\n\t\tif (this.isMasterItem()) {\n\t\t\tthis._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether this item is part of a recurring set\n\t *\n\t * @returns {boolean}\n\t */\n\tisPartOfRecurrenceSet() {\n\t\treturn this.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Checks whether this component is recurring\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurring() {\n\t\treturn this.hasProperty('RRULE') || this.hasProperty('RDATE')\n\t}\n\n\t/**\n\t * Checks whether this component is a recurrence-exception\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurrenceException() {\n\t\treturn this.hasProperty('RECURRENCE-ID')\n\t}\n\n\t/**\n\t * Checks wether this component is a recurrence-exception\n\t * and whether it's modifying the future\n\t *\n\t * @returns {boolean}\n\t */\n\tmodifiesFuture() {\n\t\tif (!this.isRecurrenceException()) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst property = this.getFirstProperty('RECURRENCE-ID')\n\t\treturn property.getParameterFirstValue('RANGE') === 'THISANDFUTURE'\n\t}\n\n\t/**\n\t * Creates an occurrence at the given time\n\t *\n\t * This is an internal function for calendar-js, used by the recurrence-manager\n\t * Do not call from outside\n\t *\n\t * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n\t * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tforkItem(recurrenceId, startDiff = null) {\n\t\tconst occurrence = this.clone()\n\n\t\toccurrence.recurrenceManager = this.recurrenceManager\n\t\toccurrence.primaryItem = this\n\n\t\t// Exact match for master item or recurrence-exception\n\t\tif (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\toccurrence.isExactForkOfPrimary = true\n\t\t}\n\n\t\tif (!occurrence.hasProperty('DTSTART')) {\n\t\t\tthrow new TypeError('Can\\'t fork item without a DTSTART')\n\t\t}\n\n\t\tif (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n\t\t\tconst originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone()\n\t\t\trecurrenceId = recurrenceId.getInICALTimezone(originalTimezone)\n\t\t}\n\n\t\toccurrence.originalRecurrenceId = recurrenceId.clone()\n\n\t\tconst dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART')\n\n\t\tlet period = null\n\t\tif (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n\t\t\tconst recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId)\n\t\t\tif (recurrenceDate instanceof PeriodValue) {\n\t\t\t\tperiod = recurrenceDate\n\t\t\t}\n\t\t}\n\n\t\tlet duration\n\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\tconst dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND')\n\t\t\tduration = dtEndValue.subtractDateWithTimezone(dtStartValue)\n\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\tconst dueValue = occurrence.getFirstPropertyFirstValue('DUE')\n\t\t\tduration = dueValue.subtractDateWithTimezone(dtStartValue)\n\t\t}\n\n\t\tif (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n\t\t\toccurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone())\n\n\t\t\tif (startDiff) {\n\t\t\t\toccurrence.startDate.addDuration(startDiff)\n\t\t\t}\n\n\t\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\t\tconst dtEnd = occurrence.startDate.clone()\n\t\t\t\tdtEnd.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', dtEnd)\n\t\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\t\tconst due = occurrence.startDate.clone()\n\t\t\t\tdue.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DUE', due)\n\t\t\t}\n\n\t\t\tif (period) {\n\t\t\t\toccurrence.deleteAllProperties('DTEND')\n\t\t\t\toccurrence.deleteAllProperties('DURATION')\n\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', period.end.clone())\n\t\t\t}\n\t\t}\n\n\t\toccurrence.resetDirty()\n\n\t\treturn occurrence\n\t}\n\n\t/**\n\t * Checks whether it's possible to create a recurrence exception for this event\n\t * It is possible\n\t *\n\t * @returns {boolean}\n\t */\n\tcanCreateRecurrenceExceptions() {\n\t\tlet primaryIsRecurring = false\n\t\tif (this.primaryItem && this.primaryItem.isRecurring()) {\n\t\t\tprimaryIsRecurring = true\n\t\t}\n\t\treturn this.isRecurring() || this.modifiesFuture() || (!this.isRecurring() && primaryIsRecurring)\n\t}\n\n\t/**\n\t * creates a recurrence exception based on this event\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will apply changes to this and all future occurrences\n\t *\n\t * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n\t * In case you set `thisAndAllFuture` to true, this will be an\n\t * AbstractRecurringComponent inside a entirely new calendar component\n\t */\n\tcreateRecurrenceException(thisAndAllFuture = false) {\n\t\tif (!this.canCreateRecurrenceExceptions()) {\n\t\t\tthrow new Error('Can\\'t create recurrence-exceptions for non-recurring items')\n\t\t}\n\n\t\tconst previousPrimaryItem = this.primaryItem\n\n\t\t/**\n\t\t * The overall support for RANGE=THISANDFUTURE is really bad.\n\t\t * Instead, we have to create a new event/journal/task and\n\t\t * set an until date on the old one.\n\t\t *\n\t\t * Also see:\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n\t\t *\n\t\t * Right now, this replaces all future occurrence modifications,\n\t\t * including recurrence-exceptions, RDATES and EXDATES.\n\t\t * This is also how other CUAs handle it, but i would be happy\n\t\t * to put that up for discussion.\n\t\t *\n\t\t * Keeping future RDates + their recurrence-exceptions would be rather easy.\n\t\t * Updating recurrence-exceptions, that are based off normal recurrence rules,\n\t\t * could be very expensive.\n\t\t */\n\t\tif (thisAndAllFuture) {\n\t\t\tif (this.isExactForkOfPrimary) {\n\t\t\t\t// master item\n\t\t\t\tif (this.primaryItem.isMasterItem()) {\n\t\t\t\t\tthis._overridePrimaryItem()\n\t\t\t\t\treturn [this, this]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.removeThisOccurrence(true)\n\t\t\tthis.recurrenceManager = new RecurrenceManager(this)\n\t\t\tthis._originalRecurrenceId = null\n\n\t\t\tthis.primaryItem = this\n\t\t\tthis.updatePropertyWithValue('UID', uuid())\n\t\t\tthis._cachedId = null\n\n\t\t\tthis.addRelation('SIBLING', previousPrimaryItem.uid)\n\t\t\tpreviousPrimaryItem.addRelation('SIBLING', this.uid)\n\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\t\t\tthis._significantChange = false\n\t\t\tthis._dirty = false\n\n\t\t\tthis.root = this.root.constructor.fromEmpty()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.parent = this.root\n\n\t\t\t// this is a completely new event, we should set the RSVP of all attendees to true,\n\t\t\t// so that they receive an invitation to the new event, not only the cancellation of the old one\n\t\t\tfor (const attendee of this.getAttendeeIterator()) {\n\t\t\t\tattendee.rsvp = true\n\t\t\t}\n\t\t} else {\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.recurrenceId = this.getReferenceRecurrenceId().clone()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.recurrenceManager.relateRecurrenceException(this)\n\t\t\tthis.primaryItem = this\n\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('RRULE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tconst valueDateTimeRecurDate = recurDate.start\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t\tthis.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.originalRecurrenceId = null\n\t\t}\n\n\t\treturn [previousPrimaryItem, this]\n\t}\n\n\t/**\n\t * Deletes this occurrence from the series of recurring events\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will remove this and all future occurrences\n\t *\n\t * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n\t * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n\t */\n\tremoveThisOccurrence(thisAndAllFuture = false) {\n\t\tif (!this.isPartOfRecurrenceSet()) {\n\t\t\t// When deleting an object, that's not part of a recurring set,\n\t\t\t// the calendar-document would be empty.\n\t\t\treturn true\n\t\t}\n\n\t\tif (thisAndAllFuture) {\n\t\t\t// To get the UNTIL date, just deduct one second.\n\t\t\t// That's also how macOS does it, so this should be fairly\n\t\t\t// well supported among all clients\n\t\t\tconst recurrenceId = this.getReferenceRecurrenceId().clone()\n\n\t\t\tconst until = recurrenceId.getInTimezone(Timezone.utc)\n\t\t\tuntil.addDuration(DurationValue.fromSeconds(-1))\n\n\t\t\tfor (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n\t\t\t\trecurValue.until = until.clone()\n\t\t\t}\n\n\t\t\tfor (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n\t\t\t\tlet valueToCheck = recurDate\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t\t}\n\n\t\t\t\tif (recurrenceId.compare(valueToCheck) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n\t\t\t\tif (recurrenceId.compare(exceptionDate) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(true, exceptionDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n\t\t\t\tif (recurrenceId.compare(exception.recurrenceId) <= 0) {\n\t\t\t\t\tthis.root.deleteComponent(exception)\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceException(exception)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Make sure we don't leave orphaned recurrence-exceptions\n\t\t\tif (this.isRecurrenceException() && !this.modifiesFuture()) {\n\t\t\t\tthis.root.deleteComponent(this)\n\t\t\t\tthis.recurrenceManager.removeRecurrenceException(this)\n\t\t\t}\n\n\t\t\t// If this is based on a recurrence-date, simply delete it\n\t\t\t// otherwise add an exception-date\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t} else {\n\t\t\t\tthis.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone())\n\t\t\t}\n\t\t}\n\n\t\treturn this.recurrenceManager.isEmptyRecurrenceSet()\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tclone() {\n\t\tconst comp = super.clone()\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n\t/**\n\t * Adds a new attendee\n\t *\n\t * @param {AttendeeProperty} attendee The attendee property to add\n\t * @private\n\t * @returns {boolean}\n\t */\n\t_addAttendee(attendee) {\n\t\t// Check for different Attendee objects with the same uri\n\t\tfor (const a of this.getAttendeeIterator()) {\n\t\t\tif (a.email === attendee.email) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tthis.addProperty(attendee)\n\t\treturn true\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Adds a new attendee based on their properties\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @param {String} role The role of the attendee to add\n\t * @param {String} userType The type of attendee to add\n\t * @param {Boolean} rsvp Whether or not to request a response from the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n\t/**\n\t * Adds a new attachment from raw data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromData(data, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromData(data, formatType))\n\t}\n\n\t/**\n\t * Adds a new attachment from a link\n\t *\n\t * @param {String} uri The URI of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromLink(uri, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromLink(uri, formatType))\n\t}\n\n\t/**\n\t * Adds a new contact\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n\t *\n\t * @param {String} contact The textual contact description to add\n\t */\n\taddContact(contact) {\n\t\tthis.addProperty(new TextProperty('CONTACT', contact))\n\t}\n\n\t/**\n\t * Adds a new comment\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n\t *\n\t * @param {String} comment The comment to add\n\t */\n\taddComment(comment) {\n\t\tthis.addProperty(new TextProperty('COMMENT', comment))\n\t}\n\n\t/**\n\t * Adds a new image from raw data\n\t *\n\t * @param {String} data Data of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromData(data, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromData(data, display, formatType))\n\t}\n\n\t/**\n\t * Adds a new image from a link\n\t *\n\t * @param {String} uri The URI of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromLink(uri, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromLink(uri, display, formatType))\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t * and adds it to this object\n\t *\n\t * @param {String} relType The type of relation to add\n\t * @param {String} relId The id of the related calendar-document\n\t */\n\taddRelation(relType, relId) {\n\t\tthis.addProperty(RelationProperty.fromRelTypeAndId(relType, relId))\n\t}\n\n\t/**\n\t * Creates a new REQUEST-STATUS property based on code and message\n\t * and adds it to this object\n\t *\n\t * @param {Number} code The status-code of the request status\n\t * @param {String} message The message of the request status\n\t */\n\taddRequestStatus(code, message) {\n\t\tthis.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message))\n\t}\n\n\t/**\n\t * Adds a new absolute alarm based on action and trigger time\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DateTimeValue} alarmTime The trigger time of the alarm\n\t * @returns {AlarmComponent}\n\t */\n\taddAbsoluteAlarm(action, alarmTime) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromAbsolute(alarmTime),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DurationValue} alarmOffset The trigger time of the alarm\n\t * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n\t * @returns {AlarmComponent}\n\t */\n\taddRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Marks a certain property as edited\n\t *\n\t * @param {String} propertyName The name of the property\n\t */\n\tmarkPropertyAsDirty(propertyName) {\n\t\tthis.markDirty()\n\n\t\t// Properties that must be considered a significant change\n\t\t// according to RFC 5546 Section 2.1.4\n\t\tconst props = [\n\t\t\t'DTSTART',\n\t\t\t'DTEND',\n\t\t\t'DURATION',\n\t\t\t'RRULE',\n\t\t\t'RDATE',\n\t\t\t'EXDATE',\n\t\t\t'STATUS',\n\t\t\t...getConfig('property-list-significant-change', []),\n\t\t]\n\n\t\tif (props.includes(uc(propertyName))) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Marks a certain component as edited\n\t *\n\t * @param {String} componentName The name of the component\n\t */\n\tmarkSubComponentAsDirty(componentName) {\n\t\tthis.markDirty()\n\n\t\tif (getConfig('component-list-significant-change', []).includes(componentName)) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not this component is dirty\n\t *\n\t * @returns {boolean}\n\t */\n\tisDirty() {\n\t\treturn this._dirty || this._significantChange\n\t}\n\n\t/**\n\t * Marks this object as dirty\n\t */\n\tmarkDirty() {\n\t\tthis._dirty = true\n\t}\n\n\t/**\n\t * Marks changes as significant. Can be called by the program using this lib\n\t */\n\tmarkChangesAsSignificant() {\n\t\tthis._significantChange = true\n\t}\n\n\t/**\n\t * Updates the event after modifications.\n\t *\n\t * @returns {boolean} true if last-modified was updated\n\t */\n\tundirtify() {\n\t\tif (!this.isDirty()) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (!this.hasProperty('SEQUENCE')) {\n\t\t\tthis.sequence = 0\n\t\t}\n\n\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tif (this._significantChange) {\n\t\t\tthis.sequence++\n\t\t}\n\n\t\tthis.resetDirty()\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n\t */\n\tresetDirty() {\n\t\tthis._dirty = false\n\t\tthis._significantChange = false\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tsuper.updatePropertyWithValue(propertyName, value)\n\n\t\tif (uc(propertyName) === 'UID') {\n\t\t\tthis._cachedId = null\n\t\t}\n\n\t\tthis.markPropertyAsDirty(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\tproperty.subscribe(() => this.markPropertyAsDirty(property.name))\n\t\treturn super.addProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\treturn super.deleteProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis.markPropertyAsDirty(propertyName)\n\t\treturn super.deleteAllProperties(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\tcomponent.subscribe(() => this.markSubComponentAsDirty(component.name))\n\t\treturn super.addComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\treturn super.deleteComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis.markSubComponentAsDirty(componentName)\n\t\treturn super.deleteAllComponents(componentName)\n\t}\n\n\t/**\n\t * Gets a recurrence-id that has to be used to refer to this event.\n\t * This is used for recurrence-management\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetReferenceRecurrenceId() {\n\t\tif (this.originalRecurrenceId) {\n\t\t\treturn this.originalRecurrenceId\n\t\t} else if (this.recurrenceId) {\n\t\t\treturn this.recurrenceId\n\t\t} else {\n\t\t\treturn this.startDate\n\t\t}\n\t}\n\n\t/**\n\t * Overrides the master item with this one\n\t *\n\t * @private\n\t */\n\t_overridePrimaryItem() {\n\t\tconst oldStartDate = this.primaryItem.startDate\n\n\t\tfor (const property of this.primaryItem.getPropertyIterator()) {\n\t\t\tthis.primaryItem.deleteProperty(property)\n\t\t}\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tthis.primaryItem.addProperty(property)\n\t\t}\n\n\t\tthis.recurrenceManager.resetCache()\n\t\tif (this.startDate.compare(oldStartDate) !== 0) {\n\t\t\tthis.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(...args) {\n\t\tconst comp = super.fromICALJs(...args)\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'stampTime',\n\tiCalendarName: 'DTSTAMP',\n})\n\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'recurrenceId',\n\tiCalendarName: 'RECURRENCE-ID',\n})\n\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color')\n\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'creationTime',\n\tiCalendarName: 'CREATED',\n})\n\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'modificationTime',\n\tiCalendarName: 'LAST-MODIFIED',\n})\n\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer')\n\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence')\n\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status')\n\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url')\n\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'title',\n\tiCalendarName: 'SUMMARY',\n})\n\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'accessClass',\n\tiCalendarName: 'class',\n\tallowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n\tdefaultValue: 'PUBLIC',\n\tunknownValue: 'PRIVATE',\n})\n\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n\tname: 'category',\n\tpluralName: 'categories',\n\tiCalendarName: 'CATEGORIES',\n})\n\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attendee',\n})\n\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator<AttachmentProperty>}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator<RelationProperty>}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'relation',\n\tiCalendarName: 'RELATED-TO',\n})\n\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment')\n\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact')\n\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator<ImageProperty>}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image')\n\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator<RequestStatusProperty>}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'requestStatus',\n\tpluralName: 'requestStatus',\n\tiCalendarName: 'REQUEST-STATUS',\n})\n\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator<AlarmComponent>}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport AlarmComponent from './alarmComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VALARM':\n\t\treturn AlarmComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getTypeOfBirthdayEvent(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE')\n}\n\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\nexport function getIconForBirthday(eventComponent) {\n\tconst birthdayType = getTypeOfBirthdayEvent(eventComponent)\n\tswitch (birthdayType) {\n\tcase 'BDAY':\n\t\treturn '🎂'\n\n\tcase 'DEATHDATE':\n\t\treturn '⚰️'\n\n\tcase 'ANNIVERSARY':\n\t\treturn '💍'\n\n\tdefault:\n\t\treturn null\n\t}\n}\n\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\nexport function getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n\tif (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n\t\treturn null\n\t}\n\n\tconst yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR')\n\treturn parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10)\n}\n\n/**\n * Returns the name of the birthday person or null if not set\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getNameForBirthday(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-NAME')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport {\n\tgetAgeOfBirthday,\n\tgetIconForBirthday,\n\tgetTypeOfBirthdayEvent,\n} from '../../helpers/birthdayHelper.js'\nimport DurationValue from '../../values/durationValue.js'\nimport GeoProperty from '../../properties/geoProperty.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\n\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\nexport default class EventComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\treturn this.startDate.isDate && this.endDate.isDate\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the event\n\t *\n\t * Quote from RFC 5545 3.6.1:\n\t * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n\t * start of the event. For recurring events, it also specifies the\n\t * very first instance in the recurrence set. The \"DTEND\" property\n\t * for a \"VEVENT\" calendar component specifies the non-inclusive end\n\t * of the event. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE value type but no\n\t * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n\t * be one day. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n\t * \"DTEND\" property, the event ends on the same calendar date and\n\t * time of day specified by the \"DTSTART\" property.\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('dtend')) {\n\t\t\treturn this.getFirstPropertyFirstValue('dtend')\n\t\t}\n\n\t\tconst dtend = this.startDate.clone()\n\n\t\tif (this.hasProperty('duration')) {\n\t\t\tdtend.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\t} else if (this.startDate.isDate) {\n\t\t\tdtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24))\n\t\t} // There is nothing to do when this event is not allday\n\n\t\treturn dtend\n\t}\n\n\t/**\n\t * Sets the end time of the event\n\t *\n\t * @param {DateTimeValue} end The end of the event\n\t */\n\tset endDate(end) {\n\t\tthis.deleteAllProperties('duration')\n\t\tthis.updatePropertyWithValue('dtend', end)\n\t}\n\n\t/**\n\t * Gets the calculated duration of the event\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (this.hasProperty('duration')) {\n\t\t\treturn this.getFirstPropertyFirstValue('duration')\n\t\t}\n\n\t\treturn this.startDate.subtractDateWithTimezone(this.endDate)\n\t}\n\n\t/**\n\t * Sets the calculated duration of the event\n\t *\n\t * @param {DurationValue} duration The duration of the event\n\t */\n\tset duration(duration) {\n\t\tthis.deleteAllProperties('dtend')\n\t\tthis.updatePropertyWithValue('duration', duration)\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference system\n\t * @param {String=} label The label for the conference system\n\t * @param {String[]=} features The features of the conference system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis._modify()\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n\t/**\n\t * Adds a duration to the start of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToStart(duration) {\n\t\tthis.startDate.addDuration(duration)\n\t}\n\n\t/**\n\t * Adds a duration to the end of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToEnd(duration) {\n\t\tconst endDate = this.endDate\n\t\tendDate.addDuration(duration)\n\n\t\tthis.endDate = endDate\n\t}\n\n\t/**\n\t * Shifts the entire event by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this event')\n\t\t}\n\n\t\tthis.startDate.isDate = allDay\n\t\tthis.startDate.addDuration(delta)\n\n\t\t// If this event was moved from the all-day area into the time-grid,\n\t\t// then we have to add a timezone and the default duration\n\t\tif (currentAllDay && !allDay) {\n\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultTimedDuration)\n\t\t}\n\n\t\t// If this event was moved from the time-grid into the all-day area,\n\t\t// then we have to change the default duration\n\t\tif (!currentAllDay && allDay) {\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultAllDayDuration)\n\t\t}\n\n\t\t// If this event was only moved inside the time-grid or only inside\n\t\t// the all-day area, then we only have to adjust the end-date\n\t\tif (currentAllDay === allDay) {\n\t\t\tconst endDate = this.endDate\n\t\t\tendDate.addDuration(delta)\n\t\t\tthis.endDate = endDate\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this is a birthday event\n\t *\n\t * @returns {boolean}\n\t */\n\tisBirthdayEvent() {\n\t\treturn getTypeOfBirthdayEvent(this) === 'BDAY'\n\t}\n\n\t/**\n\t * Gets the icon to the birthday event\n\t *\n\t * @returns {string}\n\t */\n\tgetIconForBirthdayEvent() {\n\t\treturn getIconForBirthday(this)\n\t}\n\n\t/**\n\t * Calculates the age of the birthday\n\t *\n\t * @returns {number}\n\t */\n\tgetAgeForBirthdayEvent() {\n\t\treturn getAgeOfBirthday(this, this.startDate.year)\n\t}\n\n\t/**\n\t * Serializes the entire series to ICS\n\t *\n\t * @returns {string}\n\t */\n\ttoICSEntireSeries() {\n\t\treturn this.root.toICS()\n\t}\n\n\t/**\n\t * Serializes exactly this recurrence to ICS\n\t * It removes all recurrence information\n\t *\n\t * @returns {string}\n\t */\n\ttoICSThisOccurrence() {\n\t\tconst clone = this.clone()\n\n\t\tclone.deleteAllProperties('RRULE')\n\t\tclone.deleteAllProperties('EXRULE')\n\t\tclone.deleteAllProperties('RDATE')\n\t\tclone.deleteAllProperties('EXDATE')\n\t\tclone.deleteAllProperties('RECURRENCE-ID')\n\n\t\tclone.root = clone.root.constructor.fromEmpty()\n\t\tclone.parent = clone.root\n\t\tclone.root.addComponent(clone)\n\n\t\treturn clone.root.toICS()\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n}\n\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'timeTransparency',\n\tiCalendarName: 'TRANSP',\n\tallowedValues: ['OPAQUE', 'TRANSPARENT'],\n\tdefaultValue: 'OPAQUE',\n})\n\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description')\n\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'geographicalPosition',\n\tiCalendarName: 'GEO',\n})\n\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location')\n\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array(9).keys(),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\n\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\nexport default class FreeBusyComponent extends AbstractComponent {\n\n\t/**\n\t * Gets the start-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTSTART')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} startDate The start of the queried time-range\n\t */\n\tset startDate(startDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets the end-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTEND')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} endDate The end of the queried time-range\n\t */\n\tset endDate(endDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets an iterator over all FreeBusyProperties\n\t */\n\t* getFreeBusyIterator() {\n\t\tyield * this.getPropertyIterator('FREEBUSY')\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email))\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n}\n\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer')\n\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid')\n\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport { advertiseMultipleOccurrenceProperty } from '../abstractComponent.js'\nimport TextProperty from '../../properties/textProperty.js'\n\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\nexport default class JournalComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Adds a new description property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n\t *\n\t * @param {String} description The description text\n\t */\n\taddDescription(description) {\n\t\tthis.addProperty(new TextProperty('DESCRIPTION', description))\n\t}\n\n}\n\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\nimport GeoProperty from '../../properties/geoProperty.js'\n\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\nexport default class ToDoComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\tconst propertiesToCheck = ['DTSTART', 'DUE']\n\t\tfor (const propertyToCheck of propertiesToCheck) {\n\t\t\tif (this.hasProperty(propertyToCheck)) {\n\t\t\t\treturn this.getFirstPropertyFirstValue(propertyToCheck).isDate\n\t\t\t}\n\t\t}\n\n\t\t// If a task is not associated with any date, it is defined to\n\t\t// occur on any successive date until it is completed.\n\t\t// We are treating it as all-day in that case.\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the task\n\t *\n\t * If there is a due-date, we will just return that.\n\t * If there is a start-date and a duration, we will\n\t * calculate the end-date based on that.\n\t *\n\t * If there is neither a due-date nor a combination\n\t * of start-date and duration, we just return null\n\t *\n\t * @returns {DateTimeValue|null}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('due')) {\n\t\t\treturn this.getFirstPropertyFirstValue('due')\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst endDate = this.startDate.clone()\n\t\tendDate.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\treturn endDate\n\t}\n\n\t/**\n\t * Shifts the entire task by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\tthrow new TypeError('This task does not have a start-date nor due-date')\n\t\t}\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this todo')\n\t\t}\n\n\t\t// If this task has a start-date, update it\n\t\t// This is especially important, if you shift\n\t\t// the task by a negative duration, because\n\t\t// dtstart always has to be prior to the due date\n\t\tif (this.hasProperty('dtstart')) {\n\t\t\tthis.startDate.isDate = allDay\n\t\t\tthis.startDate.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\n\t\tif (this.hasProperty('due')) {\n\t\t\tthis.dueTime.isDate = allDay\n\t\t\tthis.dueTime.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.dueTime.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n\t\t\treturn start.compare(this.endDate) <= 0\n\t\t}\n\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n\t/**\n\t * Gets the geographical position property\n\t *\n\t * @returns {GeoProperty}\n\t */\n\tget geographicalPosition() {\n\t\treturn this.getFirstProperty('GEO')\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference\n\t * @param {String=} label The label of the conference\n\t * @param {String[]=} features Supported features of conference-system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n}\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'completedTime',\n\tiCalendarName: 'COMPLETED',\n})\n\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'dueTime',\n\tiCalendarName: 'DUE',\n})\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'duration',\n})\n\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'percent',\n\tiCalendarName: 'PERCENT-COMPLETE',\n})\n\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description')\n\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location')\n\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array.from(Array(10).keys()),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport EventComponent from './eventComponent.js'\nimport FreeBusyComponent from './freeBusyComponent.js'\nimport JournalComponent from './journalComponent.js'\nimport TimezoneComponent from './timezoneComponent.js'\nimport ToDoComponent from './toDoComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VEVENT':\n\t\treturn EventComponent\n\n\tcase 'VFREEBUSY':\n\t\treturn FreeBusyComponent\n\n\tcase 'VJOURNAL':\n\t\treturn JournalComponent\n\n\tcase 'VTIMEZONE':\n\t\treturn TimezoneComponent\n\n\tcase 'VTODO':\n\t\treturn ToDoComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from './abstractComponent.js'\nimport { getConstructorForComponentName } from './root'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\nexport default class CalendarComponent extends AbstractComponent {\n\n\t/**\n\t * Constructor\n\t *\n\t * @inheritDoc\n\t */\n\tconstructor(name = 'VCALENDAR', properties = [], components = []) {\n\t\tsuper(name, properties, components)\n\t\tthis.root = this\n\t\tthis.parent = null\n\t}\n\n\t/**\n\t * Gets an iterator over all VTIMEZONE components\n\t */\n\t* getTimezoneIterator() {\n\t\tyield * this.getComponentIterator('vtimezone')\n\t}\n\n\t/**\n\t * Gets an iterator over all VObject components\n\t */\n\t* getVObjectIterator() {\n\t\tyield * this.getEventIterator()\n\t\tyield * this.getJournalIterator()\n\t\tyield * this.getTodoIterator()\n\t}\n\n\t/**\n\t * Gets an iterator over all VEVENT components\n\t */\n\t* getEventIterator() {\n\t\tyield * this.getComponentIterator('vevent')\n\t}\n\n\t/**\n\t * Gets an iterator over all VFREEBUSY components\n\t */\n\t* getFreebusyIterator() {\n\t\tyield * this.getComponentIterator('vfreebusy')\n\t}\n\n\t/**\n\t * Gets an iterator over all VJOURNAL components\n\t */\n\t* getJournalIterator() {\n\t\tyield * this.getComponentIterator('vjournal')\n\t}\n\n\t/**\n\t * Gets an iterator over all VTODO components\n\t */\n\t* getTodoIterator() {\n\t\tyield * this.getComponentIterator('vtodo')\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * Converts this calendar component into text/calendar\n\t *\n\t * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n\t * @returns {string}\n\t */\n\ttoICS(cleanUpTimezones = true) {\n\t\tfor (const vObject of this.getVObjectIterator()) {\n\t\t\tvObject.undirtify()\n\t\t}\n\n\t\tconst icalRoot = this.toICALJs()\n\t\tif (cleanUpTimezones) {\n\t\t\tICAL.helpers.updateTimezones(icalRoot)\n\t\t}\n\t\treturn icalRoot.toString()\n\t}\n\n\t/**\n\t * Creates a new empty calendar-component\n\t *\n\t * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromEmpty(additionalProps = []) {\n\t\treturn new this('VCALENDAR', [\n\t\t\t['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')],\n\t\t\t['calscale', 'GREGORIAN'],\n\t\t\t['version', '2.0'],\n\t\t].concat(additionalProps))\n\t}\n\n\t/**\n\t * Creates a new calendar-component with a method\n\t *\n\t * @param {string} method The method for the calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromMethod(method) {\n\t\treturn this.fromEmpty([['method', method]])\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\tconst comp = super.fromICALJs(icalValue)\n\t\tcomp.root = comp\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'productId',\n\tiCalendarName: 'PRODID',\n})\n\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'version',\n})\n\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'calendarScale',\n\tiCalendarName: 'CALSCALE',\n\tdefaultValue: 'GREGORIAN',\n})\n\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'method',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nexport default class AbstractRepairStep {\n\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\tif (new.target === AbstractRepairStep) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractRepairStep')\n\t\t}\n\t}\n\n\t/**\n\t * @param {String} input String representation of the data to repair\n\t */\n\trepair(input) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * @returns {number}\n\t */\n\tstatic priority() {\n\t\treturn 0\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { v4 as uuid } from 'uuid'\n\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\nexport default class ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n\t\t\t\treturn 'BEGIN:' + vobjectName + '\\r\\n'\n\t\t\t\t\t+ 'UID:' + uuid()\n\t\t\t\t\t+ vObjectBlock\n\t\t\t\t\t+ 'END:' + vobjectName + '\\r\\n'\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\nexport default class ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n\t\t\t\treturn propName + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\nexport default class ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n\t\t\t\treturn propName + parameters + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\nexport default class ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D')\n\t\t\t.replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\nexport default class ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { uc } from '../../../helpers/stringHelper.js'\n\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\nexport default class ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\tlet containsProdId = false\n\t\tlet containsVersion = false\n\t\tlet containsCalscale = false\n\t\tconst includedTimezones = new Set()\n\n\t\treturn ics\n\t\t\t.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '')\n\t\t\t.replace(/^PRODID:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsProdId) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsProdId = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^VERSION:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsVersion) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsVersion = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^CALSCALE:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsCalscale) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsCalscale = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, (match) => {\n\t\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\n\t\t\t\t// If this Timezone definition contains no TZID for some reason,\n\t\t\t\t// just remove it, because we can't use it anyway\n\t\t\t\tif (tzidMatcher === null) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst tzid = uc(tzidMatcher[0].substr(5))\n\t\t\t\tif (includedTimezones.has(tzid)) {\n\t\t\t\t\t// If we already included this timezone, just skip\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tincludedTimezones.add(tzid)\n\t\t\t\treturn match\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\nexport default class ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Timezone from './timezone.js'\nimport tzData from '../../resources/timezones/zones.json'\n\n/**\n * @class TimezoneManager\n */\nexport class TimezoneManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * Map of aliases\n\t\t * Alias name => timezoneId\n\t\t *\n\t\t * @type {Map<String, String>}\n\t\t */\n\t\tthis._aliases = new Map()\n\n\t\t/**\n\t\t * Map of Timezones\n\t\t * timezoneId => Timezone\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\t}\n\n\t/**\n\t * Gets a timezone for the given id\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {Timezone|null}\n\t */\n\tgetTimezoneForId(timezoneId) {\n\t\treturn this._getTimezoneForIdRec(timezoneId, 0)\n\t}\n\n\t_getTimezoneForIdRec(timezoneId, level) {\n\t\tif (this._timezones.has(timezoneId)) {\n\t\t\treturn this._timezones.get(timezoneId)\n\t\t}\n\n\t\tif (level >= 20) {\n\t\t\t// too much recursion\n\t\t\tconsole.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits')\n\t\t\treturn null\n\t\t}\n\n\t\tif (this._aliases.has(timezoneId)) {\n\t\t\tconst resolvedTimezoneId = this._aliases.get(timezoneId)\n\t\t\t// can be a recursive alias:\n\t\t\treturn this._getTimezoneForIdRec(resolvedTimezoneId, level + 1)\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Checks if there is a timezone for the given id stored in this manager\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thasTimezoneForId(timezoneId) {\n\t\treturn this._timezones.has(timezoneId) || this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Checks if the given timezone id is an alias\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\tisAlias(timezoneId) {\n\t\treturn !this._timezones.has(timezoneId) && this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Lists all timezones\n\t *\n\t * @param {Boolean=} includeAliases Whether or not to include aliases\n\t * @returns {String[]}\n\t */\n\tlistAllTimezones(includeAliases = false) {\n\t\tconst timezones = Array.from(this._timezones.keys())\n\n\t\tif (includeAliases) {\n\t\t\treturn timezones.concat(Array.from(this._aliases.keys()))\n\t\t}\n\n\t\treturn timezones\n\t}\n\n\t/**\n\t * Registers a timezone\n\t *\n\t * @param {Timezone} timezone The timezone-object to register\n\t */\n\tregisterTimezone(timezone) {\n\t\tthis._timezones.set(timezone.timezoneId, timezone)\n\t}\n\n\tregisterDefaultTimezones() {\n\t\tconsole.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`)\n\n\t\tfor (const tzid in tzData.zones) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\t\tconst ics = [\n\t\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t\t'TZID:' + tzid,\n\t\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t\t'END:VTIMEZONE',\n\t\t\t\t].join('\\r\\n')\n\t\t\t\tthis.registerTimezoneFromICS(tzid, ics)\n\t\t\t}\n\t\t}\n\n\t\tfor (const tzid in tzData.aliases) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\t\tthis.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Registers a timezone based on ics data\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @param {String} ics The iCalendar timezone definition\n\t */\n\tregisterTimezoneFromICS(timezoneId, ics) {\n\t\tconst timezone = new Timezone(timezoneId, ics)\n\t\tthis.registerTimezone(timezone)\n\t}\n\n\t/**\n\t * Registers a new timezone-alias\n\t *\n\t * @param {String} aliasName The timezone-id of the alias\n\t * @param {String} timezoneId The timezone-id to resolve the alias to\n\t */\n\tregisterAlias(aliasName, timezoneId) {\n\t\tthis._aliases.set(aliasName, timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone\n\t *\n\t * @param {String} timezoneId Unregisters a timezone by Id\n\t */\n\tunregisterTimezones(timezoneId) {\n\t\tthis._timezones.delete(timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone-alias\n\t *\n\t * @param {String} aliasName The alias to unregister\n\t */\n\tunregisterAlias(aliasName) {\n\t\tthis._aliases.delete(aliasName)\n\t}\n\n\t/**\n\t * Clear all timezones\n \t */\n\tclearAllTimezones() {\n\t\tthis._aliases = new Map()\n\t\tthis._timezones = new Map()\n\n\t\ttimezoneManager.registerTimezone(Timezone.utc)\n\t\ttimezoneManager.registerTimezone(Timezone.floating)\n\t\ttimezoneManager.registerAlias('GMT', Timezone.utc.timezoneId)\n\t\ttimezoneManager.registerAlias('Z', Timezone.utc.timezoneId)\n\t}\n\n}\n\nconst timezoneManager = new TimezoneManager()\ntimezoneManager.clearAllTimezones()\n\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\nexport function getTimezoneManager() {\n\treturn timezoneManager\n}\n\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\nexport function isOlsonTimezone(tzName) {\n\tconst hasSlash = tzName.indexOf('/') !== -1\n\tconst hasSpace = tzName.indexOf(' ') !== -1\n\tconst startsWithETC = tzName.startsWith('Etc')\n\tconst startsWithUS = tzName.startsWith('US/')\n\n\treturn hasSlash && !hasSpace && !startsWithETC && !startsWithUS\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractParser from './abstractParser.js'\nimport CalendarComponent from '../components/calendarComponent.js'\nimport { getRepairSteps } from './repairsteps/icalendar'\nimport { uc } from '../helpers/stringHelper.js'\nimport { getConstructorForComponentName } from '../components/root'\nimport { getTimezoneManager } from '../timezones/timezoneManager.js'\nimport Timezone from '../timezones/timezone.js'\nimport RecurrenceManager from '../recurrence/recurrenceManager.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class ICalendarParser\n * @classdesc\n */\nexport default class ICalendarParser extends AbstractParser {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * The raw text/calendar data\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._rawData = null\n\n\t\t/**\n\t\t * The CalendarComponent representing the raw data\n\t\t *\n\t\t * @type {CalendarComponent}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarComponent = null\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vevents\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVEvents = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vjournals\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVJournals = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vtodos\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVTodos = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vfreebusy\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVFreeBusy = false\n\n\t\t/**\n\t\t * A map containing all VObjects.\n\t\t * The key of this map is the UID\n\t\t * The value an array of all VObjects with that particular UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._items = new Map()\n\n\t\t/**\n\t\t * Items that are no recurrence-exceptions\n\t\t * The key of this map is the UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._masterItems = new Map()\n\n\t\t/**\n\t\t * Items that are recurrence exceptions\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * Some recurrence-exceptions come without a master item\n\t\t * In that case we need to forge a master item\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._forgedMasterItems = new Map()\n\n\t\t/**\n\t\t * A list of timezone-components found in the calendar-data\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\n\t\t/**\n\t\t * A set of required timezones for each UID\n\t\t *\n\t\t * @type {Map<String, Set<String>>}\n\t\t * @private\n\t\t */\n\t\tthis._requiredTimezones = new Map()\n\n\t\t/**\n\t\t * Instance of the default timezone-manager\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._defaultTimezoneManager = getTimezoneManager()\n\t}\n\n\t/**\n\t * Parses the actual calendar-data\n\t *\n\t * @param {String} ics The icalendar data to parse\n\t */\n\tparse(ics) {\n\t\tthis._rawData = ics\n\n\t\tthis._applyRepairSteps()\n\n\t\t// If a timezone is not inside our TimezoneManager at the time of parsing\n\t\t// the internal zone will be marked as floating inside ICAL.Time\n\t\t// so before we start any actual parsing, we need to extract all timezones\n\t\t// and add them to the TimezoneManager\n\t\tthis._extractTimezones()\n\t\tthis._registerTimezones()\n\n\t\tthis._createCalendarComponent()\n\n\t\tif (this._getOption('extractGlobalProperties', false)) {\n\t\t\tthis._extractProperties()\n\t\t}\n\n\t\tthis._processVObjects()\n\n\t\tif (this._getOption('processFreeBusy', false)) {\n\t\t\tthis._processVFreeBusy()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t* getItemIterator() {\n\t\tfor (const itemList of this._items.values()) {\n\t\t\tconst calendarComp = CalendarComponent.fromEmpty()\n\n\t\t\tif (this._getOption('includeTimezones', false)) {\n\t\t\t\tthis._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid)\n\t\t\t}\n\n\t\t\t// Preserve the original product id, just in case we need special handling for certain clients later on ...\n\t\t\tif (this._calendarComponent.hasProperty('PRODID')) {\n\t\t\t\tcalendarComp.deleteAllProperties('PRODID')\n\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone())\n\t\t\t}\n\n\t\t\tif (this._getOption('preserveMethod', false)) {\n\t\t\t\tif (this._calendarComponent.hasProperty('METHOD')) {\n\t\t\t\t\tcalendarComp.deleteAllProperties('METHOD')\n\t\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone())\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const item of itemList) {\n\t\t\t\tcalendarComp.addComponent(item)\n\t\t\t}\n\n\t\t\tyield calendarComp\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVEvents() {\n\t\treturn this._containsVEvents\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVJournals() {\n\t\treturn this._containsVJournals\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVTodos() {\n\t\treturn this._containsVTodos\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn this._containsVFreeBusy\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tgetItemCount() {\n\t\treturn Array.from(this._items.keys()).length\n\t}\n\n\t/**\n\t * Applies all registered repair steps\n\t *\n\t * @private\n\t */\n\t_applyRepairSteps() {\n\t\tfor (const RepairStep of getRepairSteps()) {\n\t\t\tconst step = new RepairStep()\n\t\t\tthis._rawData = step.repair(this._rawData)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a calendar component based upon the repaired data\n\t *\n\t * @private\n\t */\n\t_createCalendarComponent() {\n\t\tconst jCal = ICAL.parse(this._rawData)\n\t\tconst icalComp = new ICAL.Component(jCal)\n\t\tthis._calendarComponent = CalendarComponent.fromICALJs(icalComp)\n\t}\n\n\t/**\n\t * extracts properties\n\t *\n\t * @protected\n\t */\n\t_extractProperties() {\n\t\tthis._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone')\n\t}\n\n\t/**\n\t * Extract a property and writes it into a class property\n\t * names must be an array, it will use the value of the fist\n\t * propertyname it can find\n\t *\n\t * @param {String[]} names The names of the properties to check\n\t * @param {String} variableName The variable name to save it under\n\t * @private\n\t */\n\t_extractPropertyAndPutResultIntoVariable(names, variableName) {\n\t\tfor (const name of names) {\n\t\t\tif (this._calendarComponent.hasProperty(name)) {\n\t\t\t\tthis[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Extracts timezones from the calendar component\n\t *\n\t * @protected\n\t */\n\t_extractTimezones() {\n\t\tconst matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm)\n\n\t\tif (!matches) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const match of matches) {\n\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\t\t\tif (!tzidMatcher) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst tzid = tzidMatcher[0].substr(5)\n\t\t\tconst timezone = new Timezone(tzid, match)\n\t\t\tthis._timezones.set(tzid, timezone)\n\t\t}\n\t}\n\n\t/**\n\t * Registers unknown timezones into our timezone-manager\n\t *\n\t * @protected\n\t */\n\t_registerTimezones() {\n\t\tfor (const [tzid, timezone] of this._timezones) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n\t\t\t\tthis._defaultTimezoneManager.registerTimezone(timezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Processes the parsed vobjects\n\t *\n\t * @protected\n\t */\n\t_processVObjects() {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\t\t\tif (vObject.isRecurrenceException()) {\n\t\t\t\tthis._addRecurrenceException(vObject)\n\t\t\t} else {\n\t\t\t\tvObject.recurrenceManager = new RecurrenceManager(vObject)\n\t\t\t\tthis._masterItems.set(vObject.uid, vObject)\n\t\t\t}\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._getOption('removeRSVPForAttendees', false)) {\n\t\t\t\tfor (const attendee of vObject.getAttendeeIterator()) {\n\t\t\t\t\tattendee.deleteParameter('RSVP')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n\t\t\tfor (const recurrenceException of recurrenceExceptionList) {\n\n\t\t\t\t// Check if there is a master item for this recurrence exception\n\t\t\t\t// otherwise we have to forge one\n\t\t\t\tif (!this._masterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst constructor = getConstructorForComponentName(recurrenceException.name)\n\t\t\t\t\tconst forgedMaster = new constructor(recurrenceException.name, [\n\t\t\t\t\t\t['UID', recurrenceException.uid],\n\t\t\t\t\t\t['DTSTAMP', recurrenceException.stampTime.clone()],\n\t\t\t\t\t\t['DTSTART', recurrenceException.recurrenceId.clone()],\n\t\t\t\t\t])\n\n\t\t\t\t\tforgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster)\n\n\t\t\t\t\tthis._forgedMasterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._masterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._addItem(forgedMaster)\n\t\t\t\t} else {\n\t\t\t\t\tconst master = this._masterItems.get(recurrenceException.uid)\n\n\t\t\t\t\t// This should usually not be the case,\n\t\t\t\t\t// only if the calendar-data is seriously broken.\n\t\t\t\t\t// Let's try to handle it anyway by adding it to\n\t\t\t\t\t// forgedMasterItems, we will simply add RDATEs\n\t\t\t\t\t// in the next step to make it recur\n\t\t\t\t\tif (!master.isRecurring()) {\n\t\t\t\t\t\tthis._forgedMasterItems.set(master.uid, master)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this._forgedMasterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst forgedMaster = this._forgedMasterItems.get(recurrenceException.uid)\n\t\t\t\t\tforgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone())\n\t\t\t\t}\n\n\t\t\t\tconst masterItem = this._masterItems.get(recurrenceException.uid)\n\t\t\t\tmasterItem.recurrenceManager.relateRecurrenceException(recurrenceException)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Process FreeBusy components\n\t *\n\t * @private\n\t */\n\t_processVFreeBusy() {\n\t\tfor (const vObject of this._calendarComponent.getFreebusyIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The recurrence-item to register\n\t * @private\n\t */\n\t_addRecurrenceException(item) {\n\t\tif (this._recurrenceExceptionItems.has(item.uid)) {\n\t\t\tconst arr = this._recurrenceExceptionItems.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._recurrenceExceptionItems.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The item to register\n\t * @private\n\t */\n\t_addItem(item) {\n\t\tif (this._items.has(item.uid)) {\n\t\t\tconst arr = this._items.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._items.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {String} uid The uid of the calendar-object\n\t * @param {String} timezoneId The timezoneId required by the object\n\t * @private\n\t */\n\t_addRequiredTimezone(uid, timezoneId) {\n\t\tif (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n\t\t\treturn\n\t\t}\n\n\t\tif (this._requiredTimezones.has(uid)) {\n\t\t\tthis._requiredTimezones.get(uid).add(timezoneId)\n\t\t} else {\n\t\t\tconst set = new Set([timezoneId])\n\t\t\tthis._requiredTimezones.set(uid, set)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n\t * @param {String} uid The UID of the calendar-object\n\t * @private\n\t */\n\t_addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n\t\tif (!this._requiredTimezones.has(uid)) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const requiredTimezone of this._requiredTimezones.get(uid)) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone)\n\t\t\t// Is this an alias?\n\t\t\tif (timezone.timezoneId !== requiredTimezone) {\n\t\t\t\tthis._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId)\n\t\t\t}\n\n\t\t\tconst timezoneComponent = timezone.toTimezoneComponent()\n\t\t\tcalendarComp.addComponent(timezoneComponent)\n\t\t}\n\t}\n\n\t/**\n\t * Replaces all occurrences of searchTimezone with replaceTimezone\n\t *\n\t * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n\t * @param {String} searchTimezone The timezone to replace\n\t * @param {String} replaceTimezone The replacement timezone\n\t * @private\n\t */\n\t_replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks a certain component type as seen.\n\t * This is used for\n\t * containsVEvents()\n\t * containsVJournals()\n\t * containsVTodos()\n\t *\n\t * @param {String} compName The name of the visited component\n\t * @private\n\t */\n\t_markCompTypeAsSeen(compName) {\n\t\tswitch (uc(compName)) {\n\t\tcase 'VEVENT':\n\t\t\tthis._containsVEvents = true\n\t\t\tbreak\n\n\t\tcase 'VJOURNAL':\n\t\t\tthis._containsVJournals = true\n\t\t\tbreak\n\n\t\tcase 'VTODO':\n\t\t\tthis._containsVTodos = true\n\t\t\tbreak\n\n\t\tcase 'VFREEBUSY':\n\t\t\tthis._containsVFreeBusy = true\n\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic getMimeTypes() {\n\t\treturn ['text/calendar']\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarAddMissingUIDRepairStep from './icalendarAddMissingUIDRepairStep.js'\nimport ICalendarAddMissingValueDateDoubleColonRepairStep from './icalendarAddMissingValueDateDoubleColonRepairStep.js'\nimport ICalendarAddMissingValueDateRepairStep from './icalendarAddMissingValueDateRepairStep.js'\nimport ICalendarEmptyTriggerRepairStep from './icalendarEmptyTriggerRepairStep.js'\nimport ICalendarIllegalCreatedRepairStep from './icalendarIllegalCreatedRepairStep.js'\nimport ICalendarMultipleVCalendarBlocksRepairStep from './icalendarMultipleVCalendarBlocksRepairStep.js'\nimport ICalendarRemoveXNCGroupIdRepairStep from './icalendarRemoveXNCGroupIdRepairStep.js'\n\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\nexport function * getRepairSteps() {\n\tyield ICalendarAddMissingUIDRepairStep\n\tyield ICalendarAddMissingValueDateDoubleColonRepairStep\n\tyield ICalendarAddMissingValueDateRepairStep\n\tyield ICalendarEmptyTriggerRepairStep\n\tyield ICalendarIllegalCreatedRepairStep\n\tyield ICalendarMultipleVCalendarBlocksRepairStep\n\tyield ICalendarRemoveXNCGroupIdRepairStep\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarParser from './icalendarParser.js'\n\n/**\n * @class ParserManager\n * @classdesc\n */\nexport default class ParserManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\n\t\t/**\n\t\t * List of supported parsers\n\t\t *\n\t\t * @type {Function[]}\n\t\t */\n\t\tthis._parsers = []\n\t}\n\n\t/**\n\t * Get a list of all supported file-types\n\t *\n\t * @returns {String[]}\n\t */\n\tgetAllSupportedFileTypes() {\n\t\treturn this._parsers.reduce(\n\t\t\t(allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()),\n\t\t\t[])\n\t}\n\n\t/**\n\t * Get an instance of a parser for one specific file-type\n\t *\n\t * @param {String} fileType The mime-type to get a parser for\n\t * @param {Object=} options Options destructuring object\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t *\n\t * @returns {AbstractParser}\n\t */\n\tgetParserForFileType(fileType, options) {\n\t\tconst Parser = this._parsers.find(\n\t\t\t(parser) => parser.getMimeTypes().includes(fileType))\n\n\t\tif (!Parser) {\n\t\t\tthrow new TypeError('Unknown file-type.')\n\t\t}\n\n\t\treturn new Parser(options)\n\t}\n\n\t/**\n\t * Registers a parser\n\t *\n\t * @param {Function} parser The parser to register\n\t */\n\tregisterParser(parser) {\n\t\tthis._parsers.push(parser)\n\t}\n\n}\n\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\nexport function getParserManager() {\n\tconst parserManager = new ParserManager()\n\n\t// We only support iCalendar for now.\n\t// JSON calendar and CSV will be supported soon,\n\t// but require some more work\n\n\tparserManager.registerParser(ICalendarParser)\n\t// parserManager.registerParser(JCalendarParser)\n\t// parserManager.registerParser(CSVParser)\n\n\treturn parserManager\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nexport default class TimezoneAdapter {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n\t */\n\tconstructor(timezoneManager) {\n\n\t\t/**\n\t\t * TimezoneManager object\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneManager = timezoneManager\n\t}\n\n\t/**\n\t * @param {string} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thas(timezoneId) {\n\t\treturn this._timezoneManager.hasTimezoneForId(timezoneId)\n\t}\n\n\t/**\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {ICAL.Timezone|undefined}\n\t */\n\tget(timezoneId) {\n\t\tconst timezone = this._timezoneManager.getTimezoneForId(timezoneId)\n\t\tif (!timezone) {\n\t\t\treturn undefined\n\t\t}\n\n\t\treturn timezone.toICALTimezone()\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tregister() {\n\t\tthrow new TypeError('Not allowed to register new timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tremove() {\n\t\tthrow new TypeError('Not allowed to remove timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\treset() {\n\t\tthrow new TypeError('Not allowed to reset TimezoneService')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getParserManager } from './parsers/parserManager.js'\nimport TimezoneAdapter from './timezones/timezoneAdapter.js'\nimport { getTimezoneManager } from './timezones/timezoneManager.js'\nimport { v4 as uuid } from 'uuid'\nimport DateTimeValue from './values/dateTimeValue.js'\nimport { dateFactory } from './factories/dateFactory.js'\nimport CalendarComponent from './components/calendarComponent.js'\nimport EventComponent from './components/root/eventComponent.js'\nimport RecurrenceManager from './recurrence/recurrenceManager.js'\nimport FreeBusyComponent from './components/root/freeBusyComponent.js'\nimport ICAL from 'ical.js'\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n\tICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager())\n}\n\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\nexport function * parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n\tconst parserManager = getParserManager()\n\tconst icsParser = parserManager.getParserForFileType('text/calendar')\n\ticsParser.parse(ics)\n\n\tconst objectIterator = icsParser.getItemIterator()\n\tconst calendarComp = objectIterator.next().value\n\tif (calendarComp === undefined) {\n\t\treturn\n\t}\n\n\tconst vObjectIterator = calendarComp.getVObjectIterator()\n\tconst firstVObject = vObjectIterator.next().value\n\tif (firstVObject === undefined) {\n\t\treturn\n\t}\n\n\tyield * firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end)\n}\n\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\nexport function createEvent(start, end) {\n\tconst calendar = CalendarComponent.fromEmpty()\n\tconst eventComponent = new EventComponent('VEVENT')\n\n\teventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('SEQUENCE', 0)\n\teventComponent.updatePropertyWithValue('UID', uuid())\n\teventComponent.updatePropertyWithValue('DTSTART', start)\n\teventComponent.updatePropertyWithValue('DTEND', end)\n\n\tcalendar.addComponent(eventComponent)\n\teventComponent.recurrenceManager = new RecurrenceManager(eventComponent)\n\n\treturn calendar\n}\n\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\nexport function createFreeBusyRequest(start, end, organizer, attendees) {\n\tconst calendar = CalendarComponent.fromMethod('REQUEST')\n\tconst freeBusyComponent = new FreeBusyComponent('VFREEBUSY')\n\n\tfreeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\tfreeBusyComponent.updatePropertyWithValue('UID', uuid())\n\tfreeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC())\n\tfreeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC())\n\tfreeBusyComponent.addProperty(organizer.clone())\n\n\tfor (const attendee of attendees) {\n\t\tconst clonedAttendee = attendee.clone()\n\t\tclonedAttendee.deleteParameter('ROLE')\n\t\tclonedAttendee.deleteParameter('CUTYPE')\n\t\tclonedAttendee.deleteParameter('RSVP')\n\t\tclonedAttendee.deleteParameter('PARTSTAT')\n\t\tclonedAttendee.deleteParameter('REQUEST-STATUS')\n\t\tclonedAttendee.deleteParameter('LANGUAGE')\n\n\t\tfreeBusyComponent.addProperty(clonedAttendee)\n\t}\n\n\tcalendar.addComponent(freeBusyComponent)\n\treturn calendar\n}\n\nexport { setConfig } from './config.js'\nexport { getParserManager }\nexport { getTimezoneManager, isOlsonTimezone } from './timezones/timezoneManager.js'\n","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(date.getTimezoneOffset(), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(date.getTimezoneOffset());\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\n\nfunction format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}\n\nexport default format;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport default function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var utcDate = createUTCDate.apply(void 0, _toConsumableArray(getFullInputArray(inputArray, backupDate)));\n var offsetMilliseconds = (offset === undefined ? utcDate.getTimezoneOffset() : offset) * 60 * 1000;\n var parsedDate = new Date(utcDate.getTime() + offsetMilliseconds); // check weekday\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type,\n attrs: {\n \"type\": \"button\"\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$1, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffMonth) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year, month + diffMonth);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-12), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(12), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\"\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\"\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$2, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$3, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-10), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(10), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$4, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n if (this.type !== 'month') {\n return this.calendarMonth === month ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n if (this.type !== 'year') {\n return this.calendarYear === year ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$5, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$4, {\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$5, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$6, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$7, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$8,\n ListOptions: __vue_component__$9\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n computed: {\n innerValue: function innerValue() {\n return getValidDate(this.value, this.defaultValue);\n },\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabled: function isDisabled(date) {\n return this.disabledTime(new Date(date));\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value)) {\n this.$emit('select', date, type);\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$8, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$a.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$a.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$a.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$a, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$a,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n this.afterEmitValue(type);\n return value;\n },\n afterEmitValue: function afterEmitValue(type) {\n // this.type === 'datetime', click the time should close popup\n if (!type || type === this.type || type === 'time') {\n this.closePopup();\n }\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, this.validMultipleType ? \"multiple-\".concat(type) : type);\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$2))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', h(__vue_component__$1))])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$a,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/ical.js/build/ical.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@nextcloud/axios/dist/index.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionLink.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack:///./node_modules/striptags/src/striptags.js","webpack:///./node_modules/linkifyjs/string.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/@nextcloud/capabilities/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@nextcloud/initial-state/dist/index.js","webpack:///./node_modules/@nextcloud/l10n/dist/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?04c4","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?9b49","webpack:///node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/debounce/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionText.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionCheckbox.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionInput.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionTextEditable.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///../lib/index.ts","webpack:///./node_modules/semver/internal/constants.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?1130","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?7ce8","webpack:///./apps/files_sharing/src/components/SharingInput.vue?39dd","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?7bbb","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?77b7","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?fe50","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?b903","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/global.js","webpack:///../node_modules/core-js/internals/fails.js","webpack:///../node_modules/core-js/internals/descriptors.js","webpack:///../node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///../node_modules/core-js/internals/create-property-descriptor.js","webpack:///../node_modules/core-js/internals/classof-raw.js","webpack:///../node_modules/core-js/internals/indexed-object.js","webpack:///../node_modules/core-js/internals/require-object-coercible.js","webpack:///../node_modules/core-js/internals/to-indexed-object.js","webpack:///../node_modules/core-js/internals/is-object.js","webpack:///../node_modules/core-js/internals/to-primitive.js","webpack:///../node_modules/core-js/internals/to-object.js","webpack:///../node_modules/core-js/internals/has.js","webpack:///../node_modules/core-js/internals/document-create-element.js","webpack:///../node_modules/core-js/internals/ie8-dom-define.js","webpack:///../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///../node_modules/core-js/internals/an-object.js","webpack:///../node_modules/core-js/internals/object-define-property.js","webpack:///../node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///../node_modules/core-js/internals/set-global.js","webpack:///../node_modules/core-js/internals/shared-store.js","webpack:///../node_modules/core-js/internals/inspect-source.js","webpack:///../node_modules/core-js/internals/internal-state.js","webpack:///../node_modules/core-js/internals/native-weak-map.js","webpack:///../node_modules/core-js/internals/shared.js","webpack:///../node_modules/core-js/internals/uid.js","webpack:///../node_modules/core-js/internals/shared-key.js","webpack:///../node_modules/core-js/internals/hidden-keys.js","webpack:///../node_modules/core-js/internals/redefine.js","webpack:///../node_modules/core-js/internals/path.js","webpack:///../node_modules/core-js/internals/get-built-in.js","webpack:///../node_modules/core-js/internals/to-integer.js","webpack:///../node_modules/core-js/internals/to-length.js","webpack:///../node_modules/core-js/internals/to-absolute-index.js","webpack:///../node_modules/core-js/internals/array-includes.js","webpack:///../node_modules/core-js/internals/object-keys-internal.js","webpack:///../node_modules/core-js/internals/enum-bug-keys.js","webpack:///../node_modules/core-js/internals/object-get-own-property-names.js","webpack:///../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///../node_modules/core-js/internals/own-keys.js","webpack:///../node_modules/core-js/internals/copy-constructor-properties.js","webpack:///../node_modules/core-js/internals/is-forced.js","webpack:///../node_modules/core-js/internals/export.js","webpack:///../node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///../node_modules/core-js/internals/a-possible-prototype.js","webpack:///../node_modules/core-js/internals/object-create.js","webpack:///../node_modules/core-js/internals/object-set-prototype-of.js","webpack:///../node_modules/core-js/internals/inherit-if-required.js","webpack:///../node_modules/core-js/internals/object-keys.js","webpack:///../node_modules/core-js/internals/object-define-properties.js","webpack:///../node_modules/core-js/internals/html.js","webpack:///../node_modules/core-js/internals/whitespaces.js","webpack:///../node_modules/core-js/internals/string-trim.js","webpack:///../node_modules/core-js/modules/es.number.constructor.js","webpack:///../node_modules/semver/internal/constants.js","webpack:///../node_modules/core-js/internals/engine-v8-version.js","webpack:///../node_modules/core-js/internals/engine-is-node.js","webpack:///../node_modules/core-js/internals/engine-user-agent.js","webpack:///../node_modules/core-js/internals/native-symbol.js","webpack:///../node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../node_modules/core-js/internals/well-known-symbol.js","webpack:///../node_modules/core-js/internals/is-regexp.js","webpack:///../node_modules/core-js/internals/regexp-flags.js","webpack:///../node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///../node_modules/core-js/internals/set-species.js","webpack:///../node_modules/core-js/modules/es.regexp.constructor.js","webpack:///../node_modules/core-js/internals/regexp-exec.js","webpack:///../node_modules/core-js/modules/es.regexp.exec.js","webpack:///../node_modules/core-js/modules/es.regexp.to-string.js","webpack:///../node_modules/core-js/internals/is-array.js","webpack:///../node_modules/core-js/internals/create-property.js","webpack:///../node_modules/core-js/internals/array-species-create.js","webpack:///../node_modules/core-js/internals/array-method-has-species-support.js","webpack:///../node_modules/core-js/modules/es.array.concat.js","webpack:///../node_modules/semver/internal/debug.js","webpack:///../node_modules/semver/internal/re.js","webpack:///../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///../node_modules/core-js/internals/string-multibyte.js","webpack:///../node_modules/core-js/internals/advance-string-index.js","webpack:///../node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///../node_modules/core-js/modules/es.string.match.js","webpack:///../node_modules/core-js/internals/string-trim-forced.js","webpack:///../node_modules/core-js/modules/es.string.trim.js","webpack:///../node_modules/core-js/internals/a-function.js","webpack:///../node_modules/core-js/internals/function-bind-context.js","webpack:///../node_modules/core-js/internals/array-iteration.js","webpack:///../node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/species-constructor.js","webpack:///../node_modules/core-js/modules/es.string.split.js","webpack:///../node_modules/core-js/internals/array-method-is-strict.js","webpack:///../node_modules/core-js/modules/es.array.join.js","webpack:///../node_modules/core-js/modules/es.array.filter.js","webpack:///../node_modules/semver/internal/parse-options.js","webpack:///../node_modules/semver/internal/identifiers.js","webpack:///../node_modules/semver/classes/semver.js","webpack:///../node_modules/semver/functions/parse.js","webpack:///../node_modules/semver/functions/valid.js","webpack:///../node_modules/semver/functions/major.js","webpack:///../node_modules/core-js/internals/add-to-unscopables.js","webpack:///../node_modules/core-js/internals/iterators-core.js","webpack:///../node_modules/core-js/internals/iterators.js","webpack:///../node_modules/core-js/internals/correct-prototype-getter.js","webpack:///../node_modules/core-js/internals/object-get-prototype-of.js","webpack:///../node_modules/core-js/internals/set-to-string-tag.js","webpack:///../node_modules/core-js/internals/create-iterator-constructor.js","webpack:///../node_modules/core-js/internals/define-iterator.js","webpack:///../node_modules/core-js/modules/es.array.iterator.js","webpack:///../node_modules/core-js/internals/freezing.js","webpack:///../node_modules/core-js/internals/internal-metadata.js","webpack:///../node_modules/core-js/internals/is-array-iterator-method.js","webpack:///../node_modules/core-js/internals/to-string-tag-support.js","webpack:///../node_modules/core-js/internals/classof.js","webpack:///../node_modules/core-js/internals/get-iterator-method.js","webpack:///../node_modules/core-js/internals/iterator-close.js","webpack:///../node_modules/core-js/internals/iterate.js","webpack:///../node_modules/core-js/internals/an-instance.js","webpack:///../node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///../node_modules/core-js/internals/redefine-all.js","webpack:///../node_modules/core-js/internals/collection-strong.js","webpack:///../node_modules/core-js/internals/collection.js","webpack:///../node_modules/core-js/modules/es.map.js","webpack:///../node_modules/core-js/internals/object-to-string.js","webpack:///../node_modules/core-js/modules/es.object.to-string.js","webpack:///../node_modules/core-js/modules/es.string.iterator.js","webpack:///../node_modules/core-js/internals/dom-iterables.js","webpack:///../node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///../node_modules/core-js/internals/array-for-each.js","webpack:///../node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/modules/es.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es.string.code-point-at.js","webpack:///./node_modules/semver/internal/re.js","webpack:///./node_modules/semver/internal/debug.js","webpack:///./node_modules/semver/classes/semver.js","webpack:///./node_modules/semver/internal/parse-options.js","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?d360","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?2bca","webpack:///node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/nextcloud-vue-collections/dist/nextcloud-vue-collections.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/paths/dist/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionRadio.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-gettext/lib/gettext.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/node-gettext/lib/plurals.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/linkifyjs/lib/linkify-string.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///../lib/ProxyBus.ts","webpack:///./node_modules/semver/functions/valid.js","webpack:///./node_modules/semver/functions/parse.js","webpack:///./node_modules/semver/internal/identifiers.js","webpack:///./node_modules/semver/functions/major.js","webpack:///../lib/SimpleBus.ts","webpack:///./node_modules/url-search-params-polyfill/index.js","webpack:///./node_modules/@nextcloud/logger/dist/index.js","webpack:///./node_modules/@nextcloud/logger/dist/ConsoleLogger.js","webpack:///./node_modules/@nextcloud/logger/dist/contracts.js","webpack:///./node_modules/@nextcloud/logger/dist/LoggerBuilder.js","webpack:///./apps/files_sharing/src/services/ConfigService.js","webpack:///./apps/files_sharing/src/models/Share.js","webpack:///./apps/files_sharing/src/mixins/ShareTypes.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?5c05","webpack:///apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b9e5","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b770","webpack:///apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?5d83","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?02ab","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?d8cf","webpack:///./apps/files_sharing/src/utils/GeneratePassword.js","webpack:///./apps/files_sharing/src/mixins/ShareRequests.js","webpack:///apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?c43f","webpack:///./apps/files_sharing/src/components/SharingInput.vue?fdeb","webpack:///./apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?aa34","webpack:///./node_modules/p-timeout/index.js","webpack:///./node_modules/p-queue/dist/priority-queue.js","webpack:///./node_modules/p-queue/dist/lower-bound.js","webpack:///./node_modules/p-queue/dist/index.js","webpack:///./apps/files_sharing/src/mixins/SharesMixin.js","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?ad66","webpack:///apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?9c75","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?f2f0","webpack:///apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?b3b1","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?fbba","webpack:///./apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?dc74","webpack:///apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?3d3a","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?c051","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?8435","webpack:///apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?6b98","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?f11f","webpack:///apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?80b0","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4515","webpack:///apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?2354","webpack:///./apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4c8b","webpack:///./apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?910b","webpack:///apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?4620","webpack:///./apps/files_sharing/src/utils/SharedWithMe.js","webpack:///./apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?9823","webpack:///./apps/files_sharing/src/services/ShareSearch.js","webpack:///./apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///./apps/files_sharing/src/services/TabSections.js","webpack:///./apps/files_sharing/src/files_sharing_tab.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/abstractParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/modificationNotAllowedError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/lockable.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/expectedICalJSError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/stringHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/config.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/icalFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/observer.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parameters/parameter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/abstractValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/binaryValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/durationValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/dateTimeValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/periodValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/recurValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/utcOffsetValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/unknownICALTypeError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/property.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attachmentProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attendeeProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/conferenceProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/freeBusyProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/geoProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/imageProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/relationProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/requestStatusProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/textProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/triggerProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/abstractComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/dateFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/recurringWithoutDtStartError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/recurrence/recurrenceManager.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/timezoneComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezone.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/alarmComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/abstractRecurringComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/birthdayHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/eventComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/freeBusyComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/journalComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/toDoComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/calendarComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/abstractRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingUIDRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateDoubleColonRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarEmptyTriggerRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarIllegalCreatedRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarMultipleVCalendarBlocksRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarRemoveXNCGroupIdRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/icalendarParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/parserManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneAdapter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/index.js","webpack:///./node_modules/date-format-parse/es/util.js","webpack:///./node_modules/date-format-parse/es/locale/en.js","webpack:///./node_modules/date-format-parse/es/format.js","webpack:///./node_modules/date-format-parse/es/parse.js","webpack:///./node_modules/vue2-datepicker/index.esm.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","OPTIONS","zones","TimezoneService","ICAL","foldLength","newLineChar","helpers","updateTimezones","vcal","allsubs","properties","vtimezones","reqTzid","tzid","getAllSubcomponents","length","getFirstProperty","getFirstValue","concat","getAllProperties","getParameter","removeSubcomponent","has","addSubcomponent","component","isStrictlyNaN","number","isNaN","strictParseInt","string","result","parseInt","Error","formatClassType","data","type","unescapedIndexOf","buffer","search","pos","indexOf","binsearchInsert","list","seekVal","cmpfunc","mid","cmpval","low","high","Math","floor","dumpn","debug","console","input","log","dump","arguments","clone","aSrc","aDeep","Date","getTime","Array","isArray","arr","push","obj","foldline","aLine","line","substr","pad2","String","trunc","ceil","inherits","base","child","extra","F","extend","source","target","descr","getOwnPropertyDescriptor","design","FROM_VCARD_NEWLINE","TO_VCARD_NEWLINE","createTextType","fromNewline","toNewline","matches","fromICAL","aValue","structuredEscape","newline","RegExp","replace","replaceNewlineReplace","replaceNewline","toICAL","regEx","str","DEFAULT_TYPE_TEXT","defaultType","DEFAULT_TYPE_TEXT_MULTI","multiValue","DEFAULT_TYPE_TEXT_STRUCTURED","structuredValue","DEFAULT_TYPE_INTEGER","DEFAULT_TYPE_DATETIME_DATE","allowedTypes","DEFAULT_TYPE_DATETIME","DEFAULT_TYPE_URI","DEFAULT_TYPE_UTCOFFSET","DEFAULT_TYPE_RECUR","DEFAULT_TYPE_DATE_ANDOR_TIME","commonProperties","commonValues","values","float","parsed","parseFloat","integer","decorate","UtcOffset","fromString","undecorate","toString","icalValues","text","uri","aString","Binary","aBinary","aProp","strict","Time","fromDateString","len","date","fromDateTimeString","duration","Duration","period","parts","split","isValueString","join","Period","fromJSON","toJSON","recur","Recur","_stringToData","k","val","numericDayToIcalDay","toUpperCase","fromData","aRecur","time","icalProperties","detectType","vcardValues","VCardTime","fromDateAndOrTimeString","splitzone","_splitZone","zone","isFromIcal","lastChar","signChar","sign","timestamp","vcardProperties","vcard3Values","binary","vcard","vcard3Properties","fn","nickname","photo","bday","adr","label","tel","email","mailer","tz","geo","title","role","logo","agent","org","note","prodid","rev","sound","class","icalSet","param","allowXName","allowIanaToken","valueType","multiValueSeparateDQuote","vcardSet","vcard3Set","defaultSet","components","vcard3","vevent","vtodo","vjournal","valarm","vtimezone","daylight","standard","icalendar","getDesignSet","componentName","stringify","jCal","designSet","props","propIdx","propLen","designSetName","comps","compIdx","compLen","noFold","paramName","jsName","params","map","_rfc6868Unescape","propertyValue","propDetails","isDefault","slice","delim","innerMulti","x","RFC6868_REPLACE_MAP","parse","CHAR","ParserError","message","this","e","stack","shift","parser","state","root","_eachLine","err","_handleContentLine","lastParamIndex","lastValuePos","parsedParams","valuePos","paramPos","substring","toLowerCase","_parseParameters","newComponent","pop","propertyDetails","_parseMultiValue","_parseValue","start","lcname","mvdelim","lastParam","_rfc6868Escape","extendedValue","nextPos","propValuePos","delimiter","lastPos","callback","firstChar","newlineOffset","trim","Component","parent","_hydratedPropertyCount","_hydratedComponentCount","_designSet","_hydrateComponent","index","_components","comp","_hydrateProperty","_properties","prop","Property","getFirstSubcomponent","jCalLen","hasProperty","getFirstPropertyValue","_removeObjectByIndex","jCalIndex","cache","splice","_removeObject","nameOrObject","objects","cached","_removeAllObjects","idx","nameOrComp","removed","removeAllSubcomponents","addProperty","TypeError","removeProperty","addPropertyWithValue","setValue","updatePropertyWithValue","nameOrProp","removeAllProperties","_parent","getDefaultType","_updateType","designSetChanged","isDecorated","isMultiValue","isStructuredValue","_hydrateValue","_values","_decorate","_undecorate","_setDecoratedValue","getFirstParameter","parameters","setParameter","removeParameter","details","resetType","removeAllValues","getValues","setValues","icaltype","toICALString","aData","hours","minutes","factor","fromSeconds","toSeconds","_normalize","aSeconds","secs","abs","compare","other","a","b","options","instance","decodeValue","_b64_decode","setEncodedValue","_b64_encode","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","charCodeAt","charAt","o1","o2","o3","fromCharCode","wrappedJSObject","end","icalclass","getDuration","subtractDate","getEnd","addDuration","aLenient","fromDateOrDateTimeString","DURATION_LETTERS","parseDurationChunk","letter","isNegative","num","weeks","days","seconds","propsToCopy","reset","aOther","thisSeconds","otherSeconds","normalize","aStr","dict","chunks","numeric","Timezone","location","tznames","latitude","longitude","expandedUntilYear","changes","utcOffset","tt","utcTimezone","localTimezone","_ensureCoverage","year","tt_change","month","day","hour","minute","second","change_num","_findNearbyChange","change_num_to_use","step","change","prevUtcOffset","adjust_change","_compare_change_fn","zone_change","tmp_change","prev_zone_change","is_daylight","aYear","_minimumExpansionYear","today","now","changesEndYear","EXTRA_COVERAGE","MAX_YEAR","subcomps","_expandComponent","sort","aComponent","dtstart","convert_tzoffset","offset","init_changes","changebase","rdatekey","isDate","rrule","until","adjust","occ","iterator","next","convert_time","from_zone","to_zone","keys","utc","Z","UTC","GMT","register","timezone","remove","_time","_dowCache","_wnCache","_cachedUnixTime","_pendingNormalization","epochTime","resetTo","fromJSDate","aDate","useUTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","aZone","dayOfWeek","aWeekStart","firstDow","SUNDAY","dowCacheKey","q","Y","h","dayOfYear","is_leap","isLeapYear","daysInYearPassedMonth","startOfWeek","endOfWeek","startOfMonth","endOfMonth","daysInMonth","startOfYear","endOfYear","startDoyWeek","aFirstDayOfWeek","delta","getDominicalLetter","nthWeekDay","aDayOfWeek","aPos","weekday","otherDay","isNthWeekDay","dow","weekNumber","week1","wnCacheKey","dt","isoyear","weekOneStarts","daysBetween","answer","aDuration","mult","unixTime","toUnixTime","subtractDateTz","compareDateOnlyTz","cmp","attr","_cmp_attr","convertToZone","rc","copy","zone_equals","toJSDate","aExtraDays","aExtraHours","aExtraMinutes","aExtraSeconds","aTime","minutesOverflow","hoursOverflow","daysOverflow","yearsOverflow","fromUnixTime","epoch","ms","defineAttr","set","fromDayOfYear","aDayOfYear","doy","auto_normalize","fromStringv2","aProperty","wkst","DEFAULT_WEEK_START","THURSDAY","yr","dom","MONDAY","TUESDAY","WEDNESDAY","FRIDAY","SATURDAY","apply","p2","y","mm","hasMonth","hasDay","hasHour","hasMinute","hasSecond","datepart","timepart","aIcalType","part","v","tmz","tm","dtlen","tmlen","hasDashDate","hasDashTime","DOW_MAP","SU","MO","TU","WE","TH","FR","SA","REVERSE_DOW_MAP","parseNumericValue","min","max","undefined","interval","count","freq","aStart","RecurIterator","rule","isFinite","isByCount","addComponent","aType","ucname","setComponent","aValues","getComponent","getNextOccurrence","aStartTime","aRecurrenceId","iter","uckey","partDesign","optionDesign","INTERVAL","icalDayToNumericDay","res","kparts","VALID_DAY_NAMES","VALID_BYDAY_PART","ALLOWED_FREQ","FREQ","fmtIcal","COUNT","UNTIL","WKST","test","BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS","partArr","partArrIdx","partArrLen","icalrecur_iterator","completed","last","occurrence_number","by_indices","initialized","by_data","days_index","init","sort_byday_rules","setup_defaults","bydayParts","ruleDayOfWeek","wkdy","dayName","expand_year_days","increment_year","_nextByYearDay","has_by_data","tempLast","initLast","dayOfMonth","increment_month","_byDayAndMonthDay","valid","before","next_second","next_minute","next_hour","next_day","next_week","next_month","next_year","check_contracting_rules","next_generic","increment_second","inc","increment_generic","increment_minute","increment_hour","this_freq","increment_monthday","end_of_data","next_weekday_by_week","week_no","normalizeByMonthDayRules","rules","newRules","ruleIdx","isInit","byMonthDay","dateLen","byDay","dateIdx","dayLen","dataIsValid","self","lastDay","initMonth","nextMonth","monthsCounter","dayIdx","data_valid","setpos","setpos_total","last_day","is_day_in_byday","check_set_position","coded_day","match","aRuleType","aInterval","aDateAttr","aFollowingAttr","aPreviousIncr","has_by_rule","dta","years","aFactor","aNextIncrement","nextunit","validWeeks","monthIdx","first_week","last_week","weekIdx","weekno","partCount","t1","monthkey","t2","monthdaykey","t3","day_","month_","expand_by_day","first_dow","doy_offset","last_dow","by_month_day","spIndex","daycodedkey","month_day","first_matching_day","last_matching_day","expandedDays","daykey","days_list","tmp","start_dow","end_dow","end_year_day","first","this_dow","aRules","j","check_contract_restriction","indexMapValue","_indexMap","ruleMapValue","_expandMap","pass","CONTRACT","ruleType","bydatakey","weekNo","req","deftime","UNKNOWN","EXPAND","ILLEGAL","RecurExpansion","formatTime","item","compareTime","ruleDates","exDates","complete","ruleIterators","ruleDateInc","exDateInc","exDate","ruleDate","_init","currentTry","_nextRecurrenceIter","_nextRuleDay","_nextExDay","_extractDates","propertyName","handleProp","forEach","iters","iterTime","chosenIter","iterIdx","Event","_rangeExceptionCache","exceptions","rangeExceptions","strictExceptions","relateException","isRecurrenceException","event","compareRangeException","THISANDFUTURE","uid","id","recurrenceId","modifiesFuture","findRangeException","rangeItem","getOccurrenceDetails","occurrence","utcId","startDate","endDate","rangeExceptionId","exception","startDiff","original","newStart","startTime","isRecurring","getRecurrenceTypes","_firstProp","_setProp","_setTime","propName","ComponentParser","parseEvent","parseTimezone","oncomplete","onerror","ontimezone","onevent","process","ical","it","check","globalThis","window","global","Function","exec","error","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","emptyObject","freeze","isUndef","isDef","isTrue","isPrimitive","isObject","_toString","isPlainObject","isRegExp","isValidArrayIndex","isPromise","then","catch","JSON","toNumber","makeMap","expectsLowerCase","isReservedAttribute","hasOwn","camelizeRE","camelize","_","capitalize","hyphenateRE","hyphenate","ctx","boundFn","_length","toArray","ret","to","_from","toObject","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","def","writable","configurable","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","add","clear","warn","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","VNode","tag","children","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","method","args","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","setter","childOb","dependArray","newVal","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","hook","key$1","methods","inject","computed","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","resolve","setTimeout","MutationObserver","setImmediate","counter","observer","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","isTextNode","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","done","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","renderContext","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","clearTimeout","ensureCtor","reject","reason","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","style","registerDeepBindings","_createElement","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","Vue","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","pattern","pruneCache","keepAliveInstance","filter","entry","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","Number","cacheVNode","vnodeToCache","keyToCache","created","destroyed","mounted","updated","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","normalizeEvents","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","_reflow","body","offsetHeight","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","querySelector","query","isUndefined","getPrototypeOf","isFunction","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","isString","isNumber","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","thisArg","stripBOM","content","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","assign","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","getRootUrl","generateFilePath","imagePath","generateUrl","generateOcsUrl","generateRemoteUrl","linkTo","app","file","service","protocol","host","linkToRemoteBase","url","ocsVersion","_generateUrlPath","allOptions","escape","vars","encodeURIComponent","noRewrite","OC","modRewriteWorking","isCore","coreApps","link","appswebroots","encodeURI","webroot","fails","g","toInteger","argument","requireObjectCoercible","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","O","P","Attributes","isSymbol","memo","isOldIE","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssNode","applyToTag","btoa","unescape","singleton","singletonCounter","styleIndex","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","_slicedToArray","_arrayWithHoles","_arr","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","_item","cssMapping","base64","sourceMapping","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","definePropertyModule","createPropertyDescriptor","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","_requesttoken","_user","getCurrentUser","IndexedObject","aFunction","variable","matchHtmlRegExp","html","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","bitmap","fixRegExpWellKnownSymbolLogic","toLength","advanceStringIndex","getSubstitution","regExpExec","REPLACE","wellKnownSymbol","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","nativeReplace","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","rx","S","functionalReplace","fullUnicode","unicode","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","groups","replacerArgs","re","freeGlobal","freeSelf","$","proto","classof","propertyIsEnumerable","getBuiltIn","$Symbol","Deno","versions","v8","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","browser","argv","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","ownKeys$2","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread$2","_defineProperty","getOwnPropertyDescriptors","DEFAULT_OPTIONS","container","placement","template","openTooltips","Tooltip","_reference","_options","_this","_classCallCheck","evt","reference","relatedreference","toElement","relatedTarget","_tooltipNode","contains","evt2","relatedreference2","_scheduleHide","jquery","hide","_isOpen","_createClass","_show","_hide","_dispose","_classes","_setContent","classesUpdated","defaultClass","isEqual","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","_this2","tooltipGenerator","tooltipNode","ariaId","random","autoHide","_this3","asyncContent","_applyContent","_this4","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this5","enableEventListeners","_create","_findContainer","_append","popperOptions","arrow","element","arrowSelector","boundariesElement","preventOverflow","Popper","_this6","_noLongerOpen","disableEventListeners","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_ref","func","removeOnDestroy","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","enabled","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","_typeof","getPlacement","getContent","createTooltip","tooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","_ref2","_objectSpread","getDefault","MSStream","openPopovers","Element","script","ResizeObserver","open","disabled","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","scheduleUpdate","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","beforeDestroy","skipDelay","_ref2$force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","hidden","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","tabindex","visibility","keyup","keyCode","_withStripped","__vue_component__","installed","finalOptions","insertAt","getElementsByTagName","styleInject","VTooltip","VClosePopover","VPopover","GlobalVue","toPrimitive","IS_PURE","copyright","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","sticky","flags","charsAdded","strCopy","multiline","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","contentWindow","Properties","that","return","u","A","nc","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Close","Custom","Flags","Next","Objects","Previous","Search","Settings","Symbols","Submit","Global","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","ngettext","gettext","needQuotes","names","mappings","sourcesContent","locals","isMobile","handleWindowResize","documentElement","clientWidth","onIsMobileChanged","hasStatus","userStatus","status","icon","fetchUserStatus","regeneratorRuntime","mark","wrap","prev","abrupt","getCapabilities","user_status","userId","sent","ocs","t0","response","stop","C","required","primary","avatarUrl","getAvatarUrl","mentionText","size","contenteditable","backgroundImage","userData","renderContent","flat","startsWith","defaultProtocol","rel","genSelectTemplate","parseContent","renderComponentHtml","excludeClickOutsideClasses","clickOutsideMiddleware","hasNodeOrAnyParentClass","parentElement","isFullscreen","_isFullscreen","_onResize","outerHeight","screen","height","href","validator","round","iconIsUrl","URL","action","PopoverMenuItem","download","click","longtext","submit","preventDefault","checked","for","stopPropagation","menu","getBuilder","persist","getItem","setItem","ClickOutside","DotsHorizontal","Popover","PopoverMenu","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","ariaLabel","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","backgroundColor","initials","fromCodePoint","codePointAt","hyperlink","loadAvatarUrl","subscribe","handleUserStatusUpdated","beforeDestroyed","unsubscribe","handlePopoverAfterShow","popoverMenu","focus","handlePopoverAfterHide","main","toggleMenu","fetchContactsMenu","closeMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","oc_userconfig","avatar","Image","onload","srcset","w","B","N","z","E","keydown","alt","decorative","0","1","2","27","beforeUpdate","getText","isLongText","3","32","closeAfterClick","isIconUrl","6","62","63","69","isFocusable","focusable","78","internalObjectKeys","baseIsNative","arraySpeciesConstructor","originalArray","propertyKey","V8_VERSION","SPECIES","METHOD_NAME","foo","$propertyIsEnumerable","NASHORN_BUG","V","postfix","EXISTS","functionToString","feature","detection","POLYFILL","NATIVE","regexpExec","RegExpPrototype","KEY","FORCED","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","$exec","createMethod","CONVERT_TO_STRING","$this","codeAt","R","TO_STRING_TAG_SUPPORT","addToUnscopables","Iterators","defineIterator","setInternalState","iterated","kind","Arguments","TO_STRING_TAG","TAG","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","find","findIndex","filterReject","GettextBuilder","_nodeGettext","Constructor","_defineProperties","protoProps","staticProps","language","setLanguage","getLanguage","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","placeholders","subtitudePlaceholders","singular","plural","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","105","84","85","VNodes","forceMenu","menuTitle","defaultIcon","opened","focusIndex","randomId","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","$props","exact","firstActionEvent","firstActionEventBinding","firstActionIconSlot","firstActionClass","iconSlotIsPopulated","initActions","openMenu","menuButton","onOpen","focusFirstAction","onMouseFocusAction","closest","querySelectorAll","focusAction","removeCurrentActive","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","execFirstAction","onFocus","onBlur","auto","blur","ctrlKey","shiftKey","metaKey","mousemove","toAbsoluteIndex","IS_INCLUDES","fromIndex","ignoreCase","dotAll","$RegExp","getRawTag","objectToString","symToStringTag","point","DOMIterables","ArrayIteratorMethods","ITERATOR","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","$toString","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","utils","encode","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","fullPath","baseURL","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","msMaxTouchPoints","middleware","isActive","detectIframe","srcTarget","composedPath","nonNative","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","allowable_tags","tag_replacement","striptags_internal","init_context","tag_set","parse_allowable_tags","tag_buffer","depth","in_quote_char","output","char","normalize_tag","init_streaming_mode","define","crypt","utf8","bin","md5","encoding","stringToBytes","Uint8Array","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToString","bytesToHex","_initialState","loadState","appId","_storagebuilder","clearAll","sessionStorage","localStorage","clearStorage","clearNonPersistent","_scopedstorage","GLOBAL_SCOPE_PERSISTENT","_interopRequireDefault","storage","pred","removeItem","fallback","elem","getLocale","getCanonicalLocale","translate","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","ordinaryToPrimitive","TO_PRIMITIVE","pref","exoticToPrim","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","objectKeys","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","eq","nativeCreate","getNative","isKeyable","__data__","isLength","FunctionPrototype","FunctionPrototypeToString","nameRE","$forEach","STRICT_METHOD","arrayMethodIsStrict","$assign","chr","T","argumentsLength","extended","fillColor","debounce","wait","later","debounced","callNow","flush","135","209","128","129","17","205","checkInput","onChange","checkbox","D","highlight","ranges","reduce","Highlight","needsTruncate","part1","part2","highlight1","highlight2","EllipsisedOption","ListItemIcon","VueMultiselect","limit","trackBy","userSelect","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","Avatar","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","isValidSubtitle","isSizeBigEnough","cssVars","getLoggerBuilder","detectUser","setApp","getTimezoneManager","Multiselect","additionalTimezones","selectedTimezone","timezoneId","continent","regions","cities","ics","registerTimezoneFromICS","aliases","registerAlias","aliasTo","listAllTimezones","DatePicker","TimezonePicker","clearable","minuteStep","format","datetime","week","formatter","showTimezoneSelect","highlightTimezone","appendToBody","showWeekNumber","showTimezonePopover","tzVal","handleSelectYear","datepicker","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","toggleTimezonePopover","mousedown","ArrowRight","DatetimePicker","isMultiselectType","isDatePickerType","onLeave","datetimepicker","closePopup","onInput","onSubmit","mouseleave","136","137","210","72","valueOf","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","attachEvent","task","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Map","baseGetTag","stubFalse","freeExports","freeModule","Buffer","webpackPolyfill","deprecate","paths","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","objectProto","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","$trim","forcedStringTrimMethod","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","HIDDEN","ObjectPrototype","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","$defineProperties","$getOwnPropertySymbols","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","space","$replacer","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","nativeSymbol","desc","HAS_SPECIES_SUPPORT","nativeSlice","fin","checkCorrectnessOfIteration","iterable","getIteratorMethod","usingIterator","iteratorMethod","EOF","USE_NATIVE_URL","anInstance","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getState","getInternalURLState","pow","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","serializeHost","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","observers","_eventBus","tokenElement","commonjsGlobal","createCommonjsModule","global$1","descriptors","getOwnPropertyDescriptor$2","objectPropertyIsEnumerable","indexedObject","PREFERRED_STRING","has$1","document$1","ie8DomDefine","objectGetOwnPropertyDescriptor","objectDefineProperty","sharedStore","WeakMap$1","nativeWeakMap","keys$2","hiddenKeys$1","internalState","aFunction$1","min$2","min$1","createMethod$3","objectKeysInternal","objectGetOwnPropertyNames","objectGetOwnPropertySymbols","isForced_1","getOwnPropertyDescriptor$1","_export","MAX_SAFE_INTEGER","objectSetPrototypeOf","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","objectDefineProperties","IE_PROTO$1","objectCreate","whitespaces","whitespace","ltrim","rtrim","createMethod$2","stringTrim","getOwnPropertyNames$1","defineProperty$3","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","digits","NaN","NumberWrapper","keys$1","constants","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","engineIsNode","engineUserAgent","process$1","engineV8Version","useSymbolAsUid","Symbol$1","MATCH$1","isRegexp","RE","regexpStickyHelpers","SPECIES$4","setSpecies","CONSTRUCTOR_NAME","defineProperty$2","MATCH","NativeRegExp","RegExpPrototype$1","CORRECT_NEW","UNSUPPORTED_Y$2","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","UNSUPPORTED_Y$1","SPECIES$3","SPECIES$2","debug_1","NODE_DEBUG","_console","_len","_key","re_1","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","SPECIES$1","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","fixRegexpWellKnownSymbolLogic","stringMethod","regexMethod","createMethod$1","stringMultibyte","charAt$1","regexpExecAbstract","nativeMatch","matcher","matchStr","stringTrimForced","functionBindContext","IS_FILTER_OUT","arrayIteration","filterOut","$map","HAS_SPECIES_SUPPORT$1","arrayPush","SPLIT","nativeSplit","internalSplit","separator","lim","lastLength","lastLastIndex","separatorCopy","splitter","defaultConstructor","speciesConstructor","unicodeMatching","nativeJoin","ES3_STRINGS","STRICT_METHOD$1","$filter","parseOptions_1","loose","compareIdentifiers$1","anum","bnum","MAX_LENGTH$1","re$1","t$1","compareIdentifiers","semver","SemVer","includePrerelease","LOOSE","FULL","major","minor","prerelease","compareMain","comparePre","release","parse_1","er","valid_1","major_1","packageJson$1","ProxyBus","bus","getVersion","UNSCOPABLES","ArrayPrototype$1","IteratorPrototype$2","PrototypeOfArrayIteratorPrototype","arrayIterator","iterators","correctPrototypeGetter","objectGetPrototypeOf","ITERATOR$5","BUGGY_SAFARI_ITERATORS$1","iteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","defineProperty$1","TO_STRING_TAG$3","IteratorPrototype$1","returnThis$1","ITERATOR$4","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","setInternalState$2","getInternalState$1","es_array_iterator","freezing","preventExtensions","internalMetadata","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","ITERATOR$3","ArrayPrototype","toStringTagSupport","TO_STRING_TAG$1","ITERATOR$2","iteratorClose","returnMethod","Result","stopped","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","ITERATOR$1","SAFE_CLOSING","iteratorWithReturn","redefineAll","setInternalState$1","internalStateGetterFor","wrapper","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","SKIP_CLOSING","ITERATION_SUPPORT","BUGGY_ZERO","$instance","setStrong","collection","previous","getEntry","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","COLLECTION_NAME$1","Collection$1","CollectionPrototype$1","arrayForEach","packageJson","SimpleBus","_nc_event_bus","isAdmin","uidElement","displayNameElement","isUserAdmin","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","promises","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","fileName","lineNumber","columnNumber","expires","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","requestURL","executor","resolvePromise","payload","AMPERSAND","CLOSEPAREN","CLOSEANGLEBRACKET","CLOSEBRACKET","CLOSEBRACE","OPENPAREN","OPENANGLEBRACKET","OPENBRACKET","OPENBRACE","WS","TLD","SYM","UNDERSCORE","SLASH","MAILTO","PROTOCOL","POUND","PLUS","NUM","NL","LOCALHOST","PUNCTUATION","DOT","COLON","AT","DOMAIN","Base","_createTokenClass","_class","TextToken","createTokenClass","inheritsToken","__g","G","U","core","W","__e","$isLabel","$groupLabel","preferredOpenDirection","optimizedHeight","maxHeight","internalSearch","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","updateSearch","isOptionDisabled","$isDisabled","selectGroup","pointerDirty","deactivate","removeElement","wholeGroupSelected","wholeGroupDisabled","removeLastElement","adjustPosition","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","showNoOptions","showNoResults","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","Dispatch","L","PromiseRejectionEvent","ok","fail","exit","onunhandledrejection","_a","onrejectionhandled","_w","M","race","finally","BREAK","RETURN","WebKitMutationObserver","standalone","esModule","keypress","autocomplete","mouseenter","isBrowser","timeoutDuration","longerTimeoutBrowsers","scheduled","functionToCheck","getStyleComputedProperty","defaultView","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","modifier","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","sizes","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","willChange","getWindow","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","shiftOffsets","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Utils","PopperUtils","statusColor","xmlns","viewBox","fill","stroke","21","23","7","___CSS_LOADER_EXPORT___","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","funcToString","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","SetCache","arraySome","cacheHas","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","baseTimes","isArguments","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseIsArguments","isObjectLike","reIsUint","baseAssignValue","getPrototype","overArg","arrayLikeKeys","baseKeysIn","isArrayLike","IteratorsCore","NEW_ITERATOR_PROTOTYPE","CORRECT_PROTOTYPE_GETTER","callWithSafeIterationClosing","isArrayIteratorMethod","getIterator","arrayLike","mapfn","mapping","innerResult","innerError","nativeKeys","FAILS_ON_PRIMITIVES","_build","require$$0","require$$1","require$$2","require$$3","IS_NODE","getFlags","callRegExpExec","parseOptions","FREEZING","InternalMetadataModule","stateify","TokenState","CharacterState","BaseState","tClass","defaultTransition","jump","accepts","character","charOrRegExp","tokenClass","endToken","defaultToken","newStates","nextState","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","accidentalStrictMode","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","isUnhandled","unwrap","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","defer","IS_IOS","runner","listener","PromiseCapability","$$resolve","$$reject","notARegExp","correctIsRegExpLogic","$startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","charenc","bytes","USES_TO_LENGTH","nativeStartsWith","ScopedStorage","wrapped","persistent","GLOBAL_SCOPE_VOLATILE","scopeKey","$includes","IS_NCG","BASE_FORCED","rawFlags","handled","rawPattern","named","brackets","ncg","groupid","groupname","SyntaxError","handleNCG","handleDotAll","flattenIntoArray","depthArg","sourceLen","$fromCodePoint","elements","RangeError","require","Clipboard","VueClipboardConfig","autoSetContainer","VueClipboard","$clipboardConfig","$copyText","fakeElement","clipboard","_vClipboard_success","_vClipboard_error","_vClipboard","I","K","X","H","J","Q","et","nt","ot","rt","at","ct","lt","st","ut","ft","pt","vt","mt","yt","bt","xt","Ct","wt","Ot","St","Rt","Et","jt","kt","Tt","It","Ut","At","Nt","$t","Mt","Dt","Ft","Lt","Bt","zt","Vt","Gt","Kt","Wt","Xt","Yt","qt","Ht","Jt","Qt","Zt","te","ee","ne","oe","ae","ie","ce","le","se","ue","fe","pe","de","ve","me","he","ge","ACCESSORS","ye","be","xe","Ce","we","Oe","Se","Re","Ee","je","ke","Te","Ie","Pe","Ue","Ae","Ne","$e","Me","De","Fe","Le","Be","ze","Ve","Ge","Ke","We","Xe","Ye","qe","He","Qe","Ze","tn","en","rn","an","cn","ln","sn","un","pn","dn","vn","mn","hn","baseUrl","put","collectionName","resourceType","resourceId","gn","collections","Cn","fetchCollectionsByResource","getCollectionsByResource","yn","createCollection","baseResourceType","baseResourceId","bn","addResourceToCollection","collectionId","renameCollection","addResource","removeResource","resources","xn","wn","ActionButton","detailsOpen","newName","getIcon","typeClass","limitedResources","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","On","En","Sn","Rn","jn","ids","kn","shouldshake","rename","autocapitalize","Tn","leading","maxWait","trailing","searchCollections","In","showSelect","CollectionListItem","selectIsOpen","generatingCodes","codes","OCP","Collaboration","getTypes","getLabel","setError","hideSelect","isVueComponent","baseIsEqual","initCompat","ua","rv","edge","getInternetExplorerVersion","emitOnMount","ignoreWidth","ignoreHeight","emitSize","_resizeObject","addResizeHandlers","removeResizeHandlers","compareAndNotify","baseMerge","createAssigner","srcIndex","102","110","14","16","18","22","39","40","49","5","94","95","joinPaths","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","acc","section","encodePath","basename","dirname","isSamePath","path1","path2","pathSections1","pathSections2","Events","EE","emitter","_eventsCount","clearEvent","EventEmitter","eventNames","listenerCount","a1","a2","a3","a4","a5","prefixed","132","133","207","toggleInput","radio","134","resolveOptions","initSelection","selectedText","selectFake","selectTarget","fakeElem","border","pageYOffset","createFakeElement","fakeHandlerCallback","removeFake","fakeHandler","copyText","execCommand","handleResult","clearSelection","getSelection","removeAllRanges","_action","construct","Proxy","ReferenceError","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clipboardAction","828","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","438","879","nodeList","370","817","setSelectionRange","selectNodeContents","addRange","279","TinyEmitter","baseIsEqualDeep","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","setCacheAdd","setCacheHas","predicate","mapToArray","setToArray","symbolProto","symbolValueOf","byteLength","byteOffset","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","baseGetAllKeys","getSymbols","keysFunc","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","resIndex","baseKeys","iteratee","typedArrayTags","freeProcess","types","isPrototype","DataView","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","assignMergeValue","baseFor","baseMergeDeep","keysIn","safeGet","srcValue","newValue","createBaseFor","fromRight","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","allocUnsafe","isDeep","cloneArrayBuffer","typedArray","arrayBuffer","baseCreate","objectCtorString","copyObject","isNew","nativeKeysIn","isProto","baseRest","isIterateeCall","assigner","guard","overRest","setToString","nativeMax","otherArgs","baseSetToString","shortOut","constant","nativeNow","lastCalled","stamp","windowNames","getWindowNames","plurals","Gettext","catalogs","eventName","eventData","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","comments","textdomain","setlocale","addTextdomain","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","baseGet","isKey","stringToPath","toKey","isHostObject","memoize","baseToString","quote","resolver","memoized","Cache","defaultValue","ach","examples","sample","nplurals","pluralsText","af","ak","am","ar","arn","ast","ay","az","bg","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","doi","dz","eo","es","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","ko","ku","kw","ky","lb","lo","lv","mai","mfe","mg","mi","mk","ml","mni","mnk","mr","my","nah","nap","nb","nl","nn","nso","oc","or","pa","pap","pl","pms","ps","ro","ru","rw","sah","sat","sco","sd","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","tg","th","ti","tk","tr","ug","uk","ur","uz","vi","wa","wo","yo","zh","ENTRIES","deleteCount","insertCount","actualDeleteCount","actualStart","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","numPoints","firstTime","baseMinusTMin","inputLength","ucs2decode","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","labels","nativeFetch","NativeRequest","RequestPrototype","Headers","getInternalParamsState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","attribute","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","wrapRequestOptions","fetch","RequestConstructor","Request","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","linkify","_interopRequireWildcard","tokenize","Options","escapeText","escapeAttr","attributesToString","linkifyStr","tokens","nl2br","isLink","_opts$resolve","formatted","formattedHref","scanner","filtered","formatHref","validate","ignoreTags","linkAttributes","linkClass","ignoredTags","toHref","getObject","operator","optionValue","TOKENS","State","_state","_text","tlds","NUMBERS","ALPHANUM","WHITESPACE","domainStates","makeState","S_START","S_NUM","S_DOMAIN","S_DOMAIN_HYPHEN","S_WS","partialProtocolFileStates","partialProtocolFtpStates","partialProtocolHttpStates","partialProtocolMailtoStates","S_PROTOCOL_FILE","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_MAILTO","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","lowerStr","cursor","tokenLength","latestAccepting","sinceAccepts","TOKEN","_multi","MULTI_TOKENS","S_PROTOCOL","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN_DOT","S_TLD","S_TLD_COLON","S_TLD_PORT","S_URL","S_URL_NON_ACCEPTING","S_URL_OPENBRACE","S_URL_OPENBRACKET","S_URL_OPENANGLEBRACKET","S_URL_OPENPAREN","S_URL_OPENBRACE_Q","S_URL_OPENBRACKET_Q","S_URL_OPENANGLEBRACKET_Q","S_URL_OPENPAREN_Q","S_URL_OPENBRACE_SYMS","S_URL_OPENBRACKET_SYMS","S_URL_OPENANGLEBRACKET_SYMS","S_URL_OPENPAREN_SYMS","S_EMAIL_DOMAIN","S_EMAIL_DOMAIN_DOT","S_EMAIL","EMAIL","S_EMAIL_COLON","S_EMAIL_PORT","S_MAILTO_EMAIL","MAILTOEMAIL","S_MAILTO_EMAIL_NON_ACCEPTING","S_LOCALPART","S_LOCALPART_AT","S_LOCALPART_DOT","S_NL","qsAccepting","qsNonAccepting","localpartAccepting","multis","textTokens","secondState","multiLength","TEXT","MULTI","isDomainToken","MultiToken","hasProtocol","hasSlashSlash","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","Pebble","promiseCapability","error1","error2","base64map","rotl","rotr","randomBytes","words","hex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","readFloatLE","isSlowBuffer","_isBuffer","StorageBuilder","_persist","persisted","clearedOnLogout","mapper","targetIndex","sourceIndex","mapFn","$reduce","CHROME_VERSION","IS_RIGHT","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","rcompareIdentifiers","ampersandTest","nativeURLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","encodesAmpersandsCorrectly","URLSearchParamsPolyfill","propValue","appendTo","USPProto","polyfill","parseToDict","makeIterator","decode","getLogger","_ConsoleLogger","_LoggerBuilder","LoggerBuilder","buildConsoleLogger","ConsoleLogger","_contracts","level","msg","formatMessage","LogLevel","Debug","Info","Warn","Fatal","Config","getElementById","dataset","allowPublicUpload","appConfig","federatedCloudShareDoc","expireDateString","isDefaultExpireDateEnabled","moment","expireAfterDays","defaultExpireDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","defaultExpireDateEnforced","defaultExpireDateEnabled","defaultInternalExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultInternalExpireDateEnabled","remoteShareAllowed","capabilities","files_sharing","sharebymail","public","resharingAllowed","enforced","sharee","always_show_unique","allowGroupSharing","password_policy","Share","ocsData","hide_download","mail_send","_share","share_type","permissions","uid_owner","displayname_owner","share_with","share_with_displayname","share_with_displayname_unique","share_with_link","share_with_avatar","uid_file_owner","displayname_file_owner","stime","expiration","send_password_by_talk","sendPasswordByTalk","item_type","file_source","file_target","file_parent","PERMISSION_READ","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_UPDATE","PERMISSION_SHARE","can_edit","can_delete","via_fileid","via_path","storage_id","item_source","SHARE_TYPES","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_DECK","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","internalLinkSubtitle","internalLink","copied","copySuccess","copyLink","clipboardTooltip","passwordSet","passwordPolicy","api","generate","curr","shareUrl","createShare","shareType","shareWith","publicUpload","expireDate","errorMessage","Notification","showTemporary","deleteShare","updateShare","canReshare","inputPlaceholder","asyncFind","addShare","noResultText","TimeoutError","pTimeout","milliseconds","timer","cancelablePromise","POSITIVE_INFINITY","customTimers","timeoutError","PriorityQueue","_queue","comparator","lowerBound","empty","PQueue","carryoverConcurrencyCount","intervalCap","concurrency","autoStart","queueClass","_carryoverConcurrencyCount","_isIntervalIgnored","_intervalCap","_interval","_queueClass","_timeout","_throwOnTimeout","throwOnTimeout","_isPaused","_intervalCount","_pendingCount","_concurrency","_tryToStartAnother","_resolveEmpty","_resolveIdle","_onInterval","_initializeIntervalIfNeeded","_timeoutId","_intervalId","_intervalEnd","_onResumeInterval","_resolvePromises","canInitializeInterval","_isIntervalPaused","_doesIntervalAllowAnother","_doesConcurrentAllowAnother","job","dequeue","_processQueue","newConcurrency","operation","_next","enqueue","functions","function_","existingResolve","SharesRequests","ShareTypes","fileInfo","share","isUnique","errors","saving","updateQueue","reactiveState","hasNote","dateTomorrow","lang","months","isShareOwner","checkShare","expirationDate","isValid","onExpirationChange","queueUpdate","onExpirationDisable","onNoteChange","onNoteSubmit","newNote","onDelete","propertyNames","onSyncError","propertyEl","debounceQueueUpdate","disabledDate","dateMoment","isBefore","dateMaxEnforced","isSameOrAfter","shareWithDisplayName","initiator","ownerDisplayName","viaPath","viaFileid","viaFileTargetUrl","folder","viaFolderName","mainTitle","subTitle","showInheritedSharesIcon","toggleInheritedShares","toggleTooltip","isEmailShareType","shareLink","pendingPassword","pendingExpirationDate","onMenuClose","canEdit","newLabel","onLabelChange","onLabelSubmit","isFolder","fileHasCreatePermission","isPublicUploadEnabled","sharePermissions","publicUploadRValue","togglePermissions","publicUploadRWValue","publicUploadWValue","canUpdate","hideDownload","isPasswordProtected","onPasswordDisable","hasUnsavedPassword","newPassword","onPasswordChange","onPasswordSubmit","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","onPasswordProtectedByTalkChange","hasExpirationDate","isDefaultExpireDateEnforced","onNewLinkShare","isPasswordPolicyEnabled","minLength","$$v","onCancel","hasLinkShares","shares","awaitForShare","removeShare","shareWithAvatar","shareWithLink","shareWithDisplayNameUnique","permissionsEdit","canSetEdit","canCreate","permissionsCreate","canSetCreate","canDelete","permissionsDelete","canSetDelete","permissionsShare","canSetReshare","isDefaultInternalExpireDateEnforced","circle","conversation","sharedWithMe","linkShares","reshare","ShareSearch","ExternalLinkActions","TabSections","_sections","OCA","Sharing","ShareTabSections","View","SharingTab","TabInstance","Files","Sidebar","registerTab","Tab","mount","AbstractParser","_name","_color","_sourceURL","_refreshInterval","_calendarTimezone","_errors","getItemIterator","ModificationNotAllowedError","lockableTrait","baseClass","_mutable","_modify","ExpectedICalJSError","lc","uc","ucFirst","startStringWith","startWith","GLOBAL_CONFIG","setConfig","getConfig","observerTrait","_subscribers","_modifyContent","parameter","_notifySubscribers","icalValue","_innerValue","decodedValue","fromRawValue","rawValue","icalBinary","fromICALJs","totalSeconds","otherDuration","toICALJs","icalDuration","toICALTimezone","clonedICALTime","jsDate","_start","_end","_duration","lock","isLocked","unlock","icalPeriod","_until","weekStart","icalRecur","icalUTCOffset","UnknownICALTypeError","_parameters","_root","_setParametersFromConstructor","hasValue","parameterName","hasParameter","getParametersIterator","isDecoratedValue","getValueIterator","_cloneValue","icalProperty","getConstructorForICALType","firstValue","getParameterFirstValue","fmtType","updateParameterIfExist","fromDecodedValue","formatType","binaryValue","allowed","userType","rsvp","commonName","vobjectType","VEVENT","VJOURNAL","VTODO","participationStatus","isOrganizer","conference","featureToAdd","hasFeature","deleteParameter","features","lat","long","relationType","relatedId","relType","relId","statusCode","statusMessage","exceptionData","SUCCESS","SUCCESS_FALLBACK","SUCCESS_PROP_IGNORED","SUCCESS_PROPPARAM_IGNORED","SUCCESS_NONSTANDARD_PROP_IGNORED","SUCCESS_NONSTANDARD_PROPPARAM_IGNORED","SUCCESS_COMP_IGNORED","SUCCESS_FORWARDED","SUCCESS_REPEATING_IGNORED","SUCCESS_TRUNCATED_END","SUCCESS_REPEATING_VTODO_IGNORED","SUCCESS_UNBOUND_RRULE_CLIPPED","CLIENT_INVALID_PROPNAME","CLIENT_INVALID_PROPVALUE","CLIENT_INVALID_PROPPARAM","CLIENT_INVALID_PROPPARAMVALUE","CLIENT_INVALUD_CALENDAR_COMP_SEQ","CLIENT_INVALID_DATE_TIME","CLIENT_INVALID_RRULE","CLIENT_INVALID_CU","CLIENT_NO_AUTHORITY","CLIENT_UNSUPPORTED_VERSION","CLIENT_TOO_LARGE","CLIENT_REQUIRED_COMP_OR_PROP_MISSING","CLIENT_UNKNOWN_COMP_OR_PROP","CLIENT_UNSUPPORTED_COMP_OR_PROP","CLIENT_UNSUPPORTED_CAPABILITY","SCHEDULING_EVENT_CONFLICT","SERVER_REQUEST_NOT_SUPPORTED","SERVER_SERVICE_UNAVAILABLE","SERVER_INVALID_CALENDAR_SERVICE","SERVER_NO_SCHEDULING_FOR_USER","altRep","related","getInUTC","alarmTime","alarmOffset","relatedToStart","getConstructorForPropertyName","_setPropertiesFromConstructor","_setComponentsFromConstructor","getPropertyIterator","getComponentIterator","newProperty","_getAllOfPropertyByLang","hasComponent","icalProp","icalComp","_getConstructorForComponentName","advertiseSingleOccurrenceProperty","advertiseValueOnly","iCalendarName","pluralName","allowedValues","unknownValue","getDefaultOncePropConfig","getFirstPropertyFirstValue","deleteAllProperties","advertiseMultipleOccurrenceProperty","getDefaultMultiplePropConfig","deleteProperty","advertiseMultiValueStringPropertySeparatedByLang","_getFirstOfPropertyByLang","addValue","languageParameter","removeValue","dateFactory","RecurringWithoutDtStartError","masterItem","_masterItem","_recurrenceExceptionItems","_rangeRecurrenceExceptionItemsIndex","_rangeRecurrenceExceptionItemsDiffCache","_rangeRecurrenceExceptionItems","getRecurrenceExceptionIterator","recurrenceException","getRangeRecurrenceExceptionForId","originalRecurrenceId","difference","subtractDateWithTimezone","recurrenceExceptionItem","_getRecurrenceIdKey","recurrenceManager","removeRecurrenceExceptionByRecurrenceId","getRecurrenceRuleIterator","recurrenceRule","resetCache","_getPropertiesForRecurrenceDate","getRecurrenceDateIterator","_getValueTypeByValue","markPropertyAsDirty","_getPropertyNameByIsNegative","valueToCheck","allValues","getRecurrenceRuleList","_getRecurExpansionObject","getReferenceRecurrenceId","icalRecurrenceId","_getOccurrenceAtRecurrenceId","dateTimeValue","queriedTimeRangeStart","queriedTimeRangeEnd","isInTimeFrame","queriedICALJsTimeRangeStart","queriedICALJsTimeRangeEnd","recurrenceIdKeys","maximumRecurrenceId","compareDate","getAllOccurrencesBetweenIterator","newUID","newStartDate","oldStartDate","exdate","hasRecurrenceDate","removeRecurrenceException","relateRecurrenceException","hasRecurrenceExceptionForId","getRecurrenceException","canCreateRecurrenceExceptions","forkItem","hasRangeRecurrenceExceptionForId","rangeRecurrenceException","getRangeRecurrenceExceptionDiff","ruleValue","rDateValue","exDateValue","getRandomValues","rnds8","rng","crypto","msCrypto","uuid","byteToHex","buf","rnds","_timezoneId","_ics","_initialized","_initialize","local","floating","attendeeProperty","fromNameAndEMail","triggerProperty","fromAbsolute","fromRelativeAndRelated","_primaryItem","_isExactForkOfPrimary","_originalRecurrenceId","_recurrenceManager","_dirty","_significantChange","_cachedId","primaryItem","isExactForkOfPrimary","updateUID","isMasterItem","updateStartDateOfMasterItem","originalTimezone","getICALTimezone","getInICALTimezone","dtStartValue","recurrenceDate","getRecurrenceDate","dtEnd","due","resetDirty","primaryIsRecurring","thisAndAllFuture","previousPrimaryItem","_overridePrimaryItem","removeThisOccurrence","addRelation","fromEmpty","attendee","getAttendeeIterator","recurDate","valueDateTimeRecurDate","removeRecurrenceDate","addRecurrenceDate","isPartOfRecurrenceSet","getInTimezone","recurValue","exceptionDate","getRecurrenceExceptionList","deleteComponent","isEmptyRecurrenceSet","_addAttendee","fromNameEMailRoleUserTypeAndRSVP","fromLink","contact","comment","fromRelTypeAndId","fromCodeAndMessage","alarmComp","markDirty","markChangesAsSignificant","isDirty","markSubComponentAsDirty","deleteAllComponents","compName","getConstructorForComponentName","getTypeOfBirthdayEvent","eventComponent","getDefaultMultipleCompConfig","dtend","fromPosition","fromURILabelAndFeatures","allDay","defaultTimezone","defaultAllDayDuration","defaultTimedDuration","currentAllDay","isAllDay","canModifyAllDay","replaceTimezone","getIconForBirthday","yearOfOccurrence","yearOfBirth","getAgeOfBirthday","toICS","propertiesToCheck","propertyToCheck","dueTime","getEventIterator","getJournalIterator","getTodoIterator","cleanUpTimezones","vObject","getVObjectIterator","undirtify","icalRoot","additionalProps","AbstractRepairStep","vobjectName","vObjectBlock","containsProdId","containsVersion","containsCalscale","includedTimezones","tzidMatcher","timezoneManager","_aliases","_timezones","_getTimezoneForIdRec","resolvedTimezoneId","includeAliases","timezones","registerTimezone","aliasName","isOlsonTimezone","tzName","hasSlash","hasSpace","startsWithETC","startsWithUS","clearAllTimezones","_rawData","_calendarComponent","_containsVEvents","_containsVJournals","_containsVTodos","_containsVFreeBusy","_items","_masterItems","_forgedMasterItems","_requiredTimezones","_defaultTimezoneManager","_applyRepairSteps","_extractTimezones","_registerTimezones","_createCalendarComponent","_getOption","_extractProperties","_processVObjects","_processVFreeBusy","itemList","calendarComp","_addRequiredTimezonesToCalendarComp","RepairStep","getRepairSteps","repair","_extractPropertyAndPutResultIntoVariable","variableName","hasTimezoneForId","_addItem","_markCompTypeAsSeen","_addRecurrenceException","_addRequiredTimezone","alarm","getAlarmIterator","recurrenceExceptionList","master","forgedMaster","stampTime","getFreebusyIterator","requiredTimezone","getTimezoneForId","_replaceTimezoneWithAnotherOne","timezoneComponent","toTimezoneComponent","calendarComponent","searchTimezone","silentlyReplaceTimezone","ParserManager","_parsers","allFileTypes","getMimeTypes","fileType","Parser","getParserManager","parserManager","registerParser","TimezoneAdapter","_timezoneManager","parseICSAndGetAllOccurrencesBetween","icsParser","getParserForFileType","firstVObject","calendar","createFreeBusyRequest","organizer","attendees","fromMethod","freeBusyComponent","clonedAttendee","toDate","isValidDate","firstDayOfWeek","getDay","diff","setDate","setHours","startOfWeekYear","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","firstDateOfFirstWeek","getWeek","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","monthsShort","weekdays","weekdaysShort","weekdaysMin","REGEX_FORMAT","pad","formatTimezone","delimeter","absOffset","meridiem","isLowercase","word","toLocaleLowerCase","formatFlags","YY","YYYY","MM","MMM","MMMM","DD","hh","ss","getMilliseconds","SS","SSS","ddd","dddd","getTimezoneOffset","ZZ","ww","formatStr","p1","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","formattingTokens","match1","match2","match1to2","matchSigned","parseFlags","addParseFlag","regex","escapeStringRegExp","matchWordRegExp","localeKey","matchWordCallback","to24hour","isPM","getFullInputArray","backupDate","backupArr","useBackup","createUTCDate","setUTCFullYear","makeParser","dateString","parseTo","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_extends$1","cent","meridiemParse","defaultIsPM","_ref9","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","createDate","isValidRangeDate","getValidDate","backup","startOfDay","assignTime","chunk","pick","formatLocale","yearFormat","monthFormat","monthBeforeYear","defaultLocale","locales","isLocal","getPropertyValue","scroll","scrollBarWidth","prefixClass","visible","displayPopup","_clickoutEvent","handleClickOutside","isRunning","relativeElement","_displayPopup","_scrollParent","popup","_popupRect","originalVisibility","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","pageXOffset","getRelativePosition","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getNextCalendar","diffMonth","_index$split$map2","col","fmt","__vue_component__$5","calendarYear","handleClick","diffYear","__vue_component__$6","firstYear","lastYear","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultPanel","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","isDisabled","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","dirtyDate","dirtyMonth","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","getStateClass","getMonthClasses","getYearClasses","getWeekState","CalendarRange","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","_range$map","_range$map2","calendarRange","__vue_component__$7","scrollbarWidth","handleScroll","thumbHeight","thumbTop","handleDragstart","outer","getScrollbarWidth","handleDragend","getThumbSize","heightPercentage","scrollHeight","_draggable","offsetTop","thumb","_prevY","clientY","handleDraging","padNumber","generateOptions","scrollTo","tick","__vue_component__$8","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","setMinutes","setSeconds","colIndex","cellIndex","parseOption","__vue_component__$9","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$a","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","emits","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","rangeSeparator","editable","inputClass","inputAttr","popupClass","popupStyle","inline","confirm","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","mergeDeep","handleClickOutSide","getFormatter","parseDate","_options$locale","_locale","_options$backupDate","parseResult","millisecond","inputArray","firstDate","utcDate","offsetMilliseconds","parsedDate","date2value","emitValue","afterEmitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","slotFn","renderInput","readonly","renderSidebar","renderHeader","renderFooter","sidedar","TimePanel"],"mappings":"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","file":"files_sharing_tab.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 499);\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/* istanbul ignore next */\n/* jshint ignore:start */\nif (typeof module === 'object') {\n // CommonJS, where exports may be different each time.\n ICAL = module.exports;\n} else if (typeof ICAL !== 'object') {/* istanbul ignore next */\n /** @ignore */\n this.ICAL = {};\n}\n/* jshint ignore:end */\n\n\n/**\n * The number of characters before iCalendar line folding should occur\n * @type {Number}\n * @default 75\n */\nICAL.foldLength = 75;\n\n\n/**\n * The character(s) to be used for a newline. The default value is provided by\n * rfc5545.\n * @type {String}\n * @default \"\\r\\n\"\n */\nICAL.newLineChar = '\\r\\n';\n\n\n/**\n * Helper functions used in various places within ical.js\n * @namespace\n */\nICAL.helpers = {\n /**\n * Compiles a list of all referenced TZIDs in all subcomponents and\n * removes any extra VTIMEZONE subcomponents. In addition, if any TZIDs\n * are referenced by a component, but a VTIMEZONE does not exist,\n * an attempt will be made to generate a VTIMEZONE using ICAL.TimezoneService.\n *\n * @param {ICAL.Component} vcal The top-level VCALENDAR component.\n * @return {ICAL.Component} The ICAL.Component that was passed in.\n */\n updateTimezones: function(vcal) {\n var allsubs, properties, vtimezones, reqTzid, i, tzid;\n\n if (!vcal || vcal.name !== \"vcalendar\") {\n //not a top-level vcalendar component\n return vcal;\n }\n\n //Store vtimezone subcomponents in an object reference by tzid.\n //Store properties from everything else in another array\n allsubs = vcal.getAllSubcomponents();\n properties = [];\n vtimezones = {};\n for (i = 0; i < allsubs.length; i++) {\n if (allsubs[i].name === \"vtimezone\") {\n tzid = allsubs[i].getFirstProperty(\"tzid\").getFirstValue();\n vtimezones[tzid] = allsubs[i];\n } else {\n properties = properties.concat(allsubs[i].getAllProperties());\n }\n }\n\n //create an object with one entry for each required tz\n reqTzid = {};\n for (i = 0; i < properties.length; i++) {\n if ((tzid = properties[i].getParameter(\"tzid\"))) {\n reqTzid[tzid] = true;\n }\n }\n\n //delete any vtimezones that are not on the reqTzid list.\n for (i in vtimezones) {\n if (vtimezones.hasOwnProperty(i) && !reqTzid[i]) {\n vcal.removeSubcomponent(vtimezones[i]);\n }\n }\n\n //create any missing, but registered timezones\n for (i in reqTzid) {\n if (\n reqTzid.hasOwnProperty(i) &&\n !vtimezones[i] &&\n ICAL.TimezoneService.has(i)\n ) {\n vcal.addSubcomponent(ICAL.TimezoneService.get(i).component);\n }\n }\n\n return vcal;\n },\n\n /**\n * Checks if the given type is of the number type and also NaN.\n *\n * @param {Number} number The number to check\n * @return {Boolean} True, if the number is strictly NaN\n */\n isStrictlyNaN: function(number) {\n return typeof(number) === 'number' && isNaN(number);\n },\n\n /**\n * Parses a string value that is expected to be an integer, when the valid is\n * not an integer throws a decoration error.\n *\n * @param {String} string Raw string input\n * @return {Number} Parsed integer\n */\n strictParseInt: function(string) {\n var result = parseInt(string, 10);\n\n if (ICAL.helpers.isStrictlyNaN(result)) {\n throw new Error(\n 'Could not extract integer from \"' + string + '\"'\n );\n }\n\n return result;\n },\n\n /**\n * Creates or returns a class instance of a given type with the initialization\n * data if the data is not already an instance of the given type.\n *\n * @example\n * var time = new ICAL.Time(...);\n * var result = ICAL.helpers.formatClassType(time, ICAL.Time);\n *\n * (result instanceof ICAL.Time)\n * // => true\n *\n * result = ICAL.helpers.formatClassType({}, ICAL.Time);\n * (result isntanceof ICAL.Time)\n * // => true\n *\n *\n * @param {Object} data object initialization data\n * @param {Object} type object type (like ICAL.Time)\n * @return {?} An instance of the found type.\n */\n formatClassType: function formatClassType(data, type) {\n if (typeof(data) === 'undefined') {\n return undefined;\n }\n\n if (data instanceof type) {\n return data;\n }\n return new type(data);\n },\n\n /**\n * Identical to indexOf but will only match values when they are not preceded\n * by a backslash character.\n *\n * @param {String} buffer String to search\n * @param {String} search Value to look for\n * @param {Number} pos Start position\n * @return {Number} The position, or -1 if not found\n */\n unescapedIndexOf: function(buffer, search, pos) {\n while ((pos = buffer.indexOf(search, pos)) !== -1) {\n if (pos > 0 && buffer[pos - 1] === '\\\\') {\n pos += 1;\n } else {\n return pos;\n }\n }\n return -1;\n },\n\n /**\n * Find the index for insertion using binary search.\n *\n * @param {Array} list The list to search\n * @param {?} seekVal The value to insert\n * @param {function(?,?)} cmpfunc The comparison func, that can\n * compare two seekVals\n * @return {Number} The insert position\n */\n binsearchInsert: function(list, seekVal, cmpfunc) {\n if (!list.length)\n return 0;\n\n var low = 0, high = list.length - 1,\n mid, cmpval;\n\n while (low <= high) {\n mid = low + Math.floor((high - low) / 2);\n cmpval = cmpfunc(seekVal, list[mid]);\n\n if (cmpval < 0)\n high = mid - 1;\n else if (cmpval > 0)\n low = mid + 1;\n else\n break;\n }\n\n if (cmpval < 0)\n return mid; // insertion is displacing, so use mid outright.\n else if (cmpval > 0)\n return mid + 1;\n else\n return mid;\n },\n\n /**\n * Convenience function for debug output\n * @private\n */\n dumpn: /* istanbul ignore next */ function() {\n if (!ICAL.debug) {\n return;\n }\n\n if (typeof (console) !== 'undefined' && 'log' in console) {\n ICAL.helpers.dumpn = function consoleDumpn(input) {\n console.log(input);\n };\n } else {\n ICAL.helpers.dumpn = function geckoDumpn(input) {\n dump(input + '\\n');\n };\n }\n\n ICAL.helpers.dumpn(arguments[0]);\n },\n\n /**\n * Clone the passed object or primitive. By default a shallow clone will be\n * executed.\n *\n * @param {*} aSrc The thing to clone\n * @param {Boolean=} aDeep If true, a deep clone will be performed\n * @return {*} The copy of the thing\n */\n clone: function(aSrc, aDeep) {\n if (!aSrc || typeof aSrc != \"object\") {\n return aSrc;\n } else if (aSrc instanceof Date) {\n return new Date(aSrc.getTime());\n } else if (\"clone\" in aSrc) {\n return aSrc.clone();\n } else if (Array.isArray(aSrc)) {\n var arr = [];\n for (var i = 0; i < aSrc.length; i++) {\n arr.push(aDeep ? ICAL.helpers.clone(aSrc[i], true) : aSrc[i]);\n }\n return arr;\n } else {\n var obj = {};\n for (var name in aSrc) {\n // uses prototype method to allow use of Object.create(null);\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aSrc, name)) {\n if (aDeep) {\n obj[name] = ICAL.helpers.clone(aSrc[name], true);\n } else {\n obj[name] = aSrc[name];\n }\n }\n }\n return obj;\n }\n },\n\n /**\n * Performs iCalendar line folding. A line ending character is inserted and\n * the next line begins with a whitespace.\n *\n * @example\n * SUMMARY:This line will be fold\n * ed right in the middle of a word.\n *\n * @param {String} aLine The line to fold\n * @return {String} The folded line\n */\n foldline: function foldline(aLine) {\n var result = \"\";\n var line = aLine || \"\";\n\n while (line.length) {\n result += ICAL.newLineChar + \" \" + line.substr(0, ICAL.foldLength);\n line = line.substr(ICAL.foldLength);\n }\n return result.substr(ICAL.newLineChar.length + 1);\n },\n\n /**\n * Pads the given string or number with zeros so it will have at least two\n * characters.\n *\n * @param {String|Number} data The string or number to pad\n * @return {String} The number padded as a string\n */\n pad2: function pad(data) {\n if (typeof(data) !== 'string') {\n // handle fractions.\n if (typeof(data) === 'number') {\n data = parseInt(data);\n }\n data = String(data);\n }\n\n var len = data.length;\n\n switch (len) {\n case 0:\n return '00';\n case 1:\n return '0' + data;\n default:\n return data;\n }\n },\n\n /**\n * Truncates the given number, correctly handling negative numbers.\n *\n * @param {Number} number The number to truncate\n * @return {Number} The truncated number\n */\n trunc: function trunc(number) {\n return (number < 0 ? Math.ceil(number) : Math.floor(number));\n },\n\n /**\n * Poor-man's cross-browser inheritance for JavaScript. Doesn't support all\n * the features, but enough for our usage.\n *\n * @param {Function} base The base class constructor function.\n * @param {Function} child The child class constructor function.\n * @param {Object} extra Extends the prototype with extra properties\n * and methods\n */\n inherits: function(base, child, extra) {\n function F() {}\n F.prototype = base.prototype;\n child.prototype = new F();\n\n if (extra) {\n ICAL.helpers.extend(extra, child.prototype);\n }\n },\n\n /**\n * Poor-man's cross-browser object extension. Doesn't support all the\n * features, but enough for our usage. Note that the target's properties are\n * not overwritten with the source properties.\n *\n * @example\n * var child = ICAL.helpers.extend(parent, {\n * \"bar\": 123\n * });\n *\n * @param {Object} source The object to extend\n * @param {Object} target The object to extend with\n * @return {Object} Returns the target.\n */\n extend: function(source, target) {\n for (var key in source) {\n var descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr && !Object.getOwnPropertyDescriptor(target, key)) {\n Object.defineProperty(target, key, descr);\n }\n }\n return target;\n }\n};\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n/** @namespace ICAL */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.design = (function() {\n 'use strict';\n\n var FROM_ICAL_NEWLINE = /\\\\\\\\|\\\\;|\\\\,|\\\\[Nn]/g;\n var TO_ICAL_NEWLINE = /\\\\|;|,|\\n/g;\n var FROM_VCARD_NEWLINE = /\\\\\\\\|\\\\,|\\\\[Nn]/g;\n var TO_VCARD_NEWLINE = /\\\\|,|\\n/g;\n\n function createTextType(fromNewline, toNewline) {\n var result = {\n matches: /.*/,\n\n fromICAL: function(aValue, structuredEscape) {\n return replaceNewline(aValue, fromNewline, structuredEscape);\n },\n\n toICAL: function(aValue, structuredEscape) {\n var regEx = toNewline;\n if (structuredEscape)\n regEx = new RegExp(regEx.source + '|' + structuredEscape);\n return aValue.replace(regEx, function(str) {\n switch (str) {\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \";\":\n return \"\\\\;\";\n case \",\":\n return \"\\\\,\";\n case \"\\n\":\n return \"\\\\n\";\n /* istanbul ignore next */\n default:\n return str;\n }\n });\n }\n };\n return result;\n }\n\n // default types used multiple times\n var DEFAULT_TYPE_TEXT = { defaultType: \"text\" };\n var DEFAULT_TYPE_TEXT_MULTI = { defaultType: \"text\", multiValue: \",\" };\n var DEFAULT_TYPE_TEXT_STRUCTURED = { defaultType: \"text\", structuredValue: \";\" };\n var DEFAULT_TYPE_INTEGER = { defaultType: \"integer\" };\n var DEFAULT_TYPE_DATETIME_DATE = { defaultType: \"date-time\", allowedTypes: [\"date-time\", \"date\"] };\n var DEFAULT_TYPE_DATETIME = { defaultType: \"date-time\" };\n var DEFAULT_TYPE_URI = { defaultType: \"uri\" };\n var DEFAULT_TYPE_UTCOFFSET = { defaultType: \"utc-offset\" };\n var DEFAULT_TYPE_RECUR = { defaultType: \"recur\" };\n var DEFAULT_TYPE_DATE_ANDOR_TIME = { defaultType: \"date-and-or-time\", allowedTypes: [\"date-time\", \"date\", \"text\"] };\n\n function replaceNewlineReplace(string) {\n switch (string) {\n case \"\\\\\\\\\":\n return \"\\\\\";\n case \"\\\\;\":\n return \";\";\n case \"\\\\,\":\n return \",\";\n case \"\\\\n\":\n case \"\\\\N\":\n return \"\\n\";\n /* istanbul ignore next */\n default:\n return string;\n }\n }\n\n function replaceNewline(value, newline, structuredEscape) {\n // avoid regex when possible.\n if (value.indexOf('\\\\') === -1) {\n return value;\n }\n if (structuredEscape)\n newline = new RegExp(newline.source + '|\\\\\\\\' + structuredEscape);\n return value.replace(newline, replaceNewlineReplace);\n }\n\n var commonProperties = {\n \"categories\": DEFAULT_TYPE_TEXT_MULTI,\n \"url\": DEFAULT_TYPE_URI,\n \"version\": DEFAULT_TYPE_TEXT,\n \"uid\": DEFAULT_TYPE_TEXT\n };\n\n var commonValues = {\n \"boolean\": {\n values: [\"TRUE\", \"FALSE\"],\n\n fromICAL: function(aValue) {\n switch (aValue) {\n case 'TRUE':\n return true;\n case 'FALSE':\n return false;\n default:\n //TODO: parser warning\n return false;\n }\n },\n\n toICAL: function(aValue) {\n if (aValue) {\n return 'TRUE';\n }\n return 'FALSE';\n }\n\n },\n float: {\n matches: /^[+-]?\\d+\\.\\d+$/,\n\n fromICAL: function(aValue) {\n var parsed = parseFloat(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n // TODO: parser warning\n return 0.0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n integer: {\n fromICAL: function(aValue) {\n var parsed = parseInt(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n return 0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n \"utc-offset\": {\n toICAL: function(aValue) {\n if (aValue.length < 7) {\n // no seconds\n // -0500\n return aValue.substr(0, 3) +\n aValue.substr(4, 2);\n } else {\n // seconds\n // -050000\n return aValue.substr(0, 3) +\n aValue.substr(4, 2) +\n aValue.substr(7, 2);\n }\n },\n\n fromICAL: function(aValue) {\n if (aValue.length < 6) {\n // no seconds\n // -05:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2);\n } else {\n // seconds\n // -05:00:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2) + ':' +\n aValue.substr(5, 2);\n }\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n };\n\n var icalParams = {\n // Although the syntax is DQUOTE uri DQUOTE, I don't think we should\n // enfoce anything aside from it being a valid content line.\n //\n // At least some params require - if multi values are used - DQUOTEs\n // for each of its values - e.g. delegated-from=\"uri1\",\"uri2\"\n // To indicate this, I introduced the new k/v pair\n // multiValueSeparateDQuote: true\n //\n // \"ALTREP\": { ... },\n\n // CN just wants a param-value\n // \"CN\": { ... }\n\n \"cutype\": {\n values: [\"INDIVIDUAL\", \"GROUP\", \"RESOURCE\", \"ROOM\", \"UNKNOWN\"],\n allowXName: true,\n allowIanaToken: true\n },\n\n \"delegated-from\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"delegated-to\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n // \"DIR\": { ... }, // See ALTREP\n \"encoding\": {\n values: [\"8BIT\", \"BASE64\"]\n },\n // \"FMTTYPE\": { ... }, // See ALTREP\n \"fbtype\": {\n values: [\"FREE\", \"BUSY\", \"BUSY-UNAVAILABLE\", \"BUSY-TENTATIVE\"],\n allowXName: true,\n allowIanaToken: true\n },\n // \"LANGUAGE\": { ... }, // See ALTREP\n \"member\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"partstat\": {\n // TODO These values are actually different per-component\n values: [\"NEEDS-ACTION\", \"ACCEPTED\", \"DECLINED\", \"TENTATIVE\",\n \"DELEGATED\", \"COMPLETED\", \"IN-PROCESS\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"range\": {\n values: [\"THISLANDFUTURE\"]\n },\n \"related\": {\n values: [\"START\", \"END\"]\n },\n \"reltype\": {\n values: [\"PARENT\", \"CHILD\", \"SIBLING\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"role\": {\n values: [\"REQ-PARTICIPANT\", \"CHAIR\",\n \"OPT-PARTICIPANT\", \"NON-PARTICIPANT\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"rsvp\": {\n values: [\"TRUE\", \"FALSE\"]\n },\n \"sent-by\": {\n valueType: \"cal-address\"\n },\n \"tzid\": {\n matches: /^\\//\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"binary\", \"boolean\", \"cal-address\", \"date\", \"date-time\",\n \"duration\", \"float\", \"integer\", \"period\", \"recur\", \"text\",\n \"time\", \"uri\", \"utc-offset\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n // When adding a value here, be sure to add it to the parameter types!\n var icalValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_ICAL_NEWLINE, TO_ICAL_NEWLINE),\n\n uri: {\n // TODO\n /* ... */\n },\n\n \"binary\": {\n decorate: function(aString) {\n return ICAL.Binary.fromString(aString);\n },\n\n undecorate: function(aBinary) {\n return aBinary.toString();\n }\n },\n \"cal-address\": {\n // needs to be an uri\n },\n \"date\": {\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n /**\n * undecorates a time object.\n */\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n // from: 20120901\n // to: 2012-09-01\n if (!design.strict && aValue.length >= 15) {\n // This is probably a date-time, e.g. 20120901T130000Z\n return icalValues[\"date-time\"].fromICAL(aValue);\n } else {\n return aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2);\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01\n // to: 20120901\n var len = aValue.length;\n\n if (len == 10) {\n return aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n aValue.substr(8, 2);\n } else if (len >= 19) {\n return icalValues[\"date-time\"].toICAL(aValue);\n } else {\n //TODO: serialize warning?\n return aValue;\n }\n\n }\n },\n \"date-time\": {\n fromICAL: function(aValue) {\n // from: 20120901T130000\n // to: 2012-09-01T13:00:00\n if (!design.strict && aValue.length == 8) {\n // This is probably a date, e.g. 20120901\n return icalValues.date.fromICAL(aValue);\n } else {\n var result = aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2) + 'T' +\n aValue.substr(9, 2) + ':' +\n aValue.substr(11, 2) + ':' +\n aValue.substr(13, 2);\n\n if (aValue[15] && aValue[15] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01T13:00:00\n // to: 20120901T130000\n var len = aValue.length;\n\n if (len == 10 && !design.strict) {\n return icalValues.date.toICAL(aValue);\n } else if (len >= 19) {\n var result = aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n // grab the (DDTHH) segment\n aValue.substr(8, 5) +\n // MM\n aValue.substr(14, 2) +\n // SS\n aValue.substr(17, 2);\n\n if (aValue[19] && aValue[19] === 'Z') {\n result += 'Z';\n }\n return result;\n } else {\n // TODO: error\n return aValue;\n }\n },\n\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n duration: {\n decorate: function(aValue) {\n return ICAL.Duration.fromString(aValue);\n },\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n period: {\n\n fromICAL: function(string) {\n var parts = string.split('/');\n parts[0] = icalValues['date-time'].fromICAL(parts[0]);\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n parts[1] = icalValues['date-time'].fromICAL(parts[1]);\n }\n\n return parts;\n },\n\n toICAL: function(parts) {\n if (!design.strict && parts[0].length == 10) {\n parts[0] = icalValues.date.toICAL(parts[0]);\n } else {\n parts[0] = icalValues['date-time'].toICAL(parts[0]);\n }\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n if (!design.strict && parts[1].length == 10) {\n parts[1] = icalValues.date.toICAL(parts[1]);\n } else {\n parts[1] = icalValues['date-time'].toICAL(parts[1]);\n }\n }\n\n return parts.join(\"/\");\n },\n\n decorate: function(aValue, aProp) {\n return ICAL.Period.fromJSON(aValue, aProp, !design.strict);\n },\n\n undecorate: function(aValue) {\n return aValue.toJSON();\n }\n },\n recur: {\n fromICAL: function(string) {\n return ICAL.Recur._stringToData(string, true);\n },\n\n toICAL: function(data) {\n var str = \"\";\n for (var k in data) {\n /* istanbul ignore if */\n if (!Object.prototype.hasOwnProperty.call(data, k)) {\n continue;\n }\n var val = data[k];\n if (k == \"until\") {\n if (val.length > 10) {\n val = icalValues['date-time'].toICAL(val);\n } else {\n val = icalValues.date.toICAL(val);\n }\n } else if (k == \"wkst\") {\n if (typeof val === 'number') {\n val = ICAL.Recur.numericDayToIcalDay(val);\n }\n } else if (Array.isArray(val)) {\n val = val.join(\",\");\n }\n str += k.toUpperCase() + \"=\" + val + \";\";\n }\n return str.substr(0, str.length - 1);\n },\n\n decorate: function decorate(aValue) {\n return ICAL.Recur.fromData(aValue);\n },\n\n undecorate: function(aRecur) {\n return aRecur.toJSON();\n }\n },\n\n time: {\n fromICAL: function(aValue) {\n // from: MMHHSS(Z)?\n // to: HH:MM:SS(Z)?\n if (aValue.length < 6) {\n // TODO: parser exception?\n return aValue;\n }\n\n // HH::MM::SSZ?\n var result = aValue.substr(0, 2) + ':' +\n aValue.substr(2, 2) + ':' +\n aValue.substr(4, 2);\n\n if (aValue[6] === 'Z') {\n result += 'Z';\n }\n\n return result;\n },\n\n toICAL: function(aValue) {\n // from: HH:MM:SS(Z)?\n // to: MMHHSS(Z)?\n if (aValue.length < 8) {\n //TODO: error\n return aValue;\n }\n\n var result = aValue.substr(0, 2) +\n aValue.substr(3, 2) +\n aValue.substr(6, 2);\n\n if (aValue[8] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n }\n });\n\n var icalProperties = ICAL.helpers.extend(commonProperties, {\n\n \"action\": DEFAULT_TYPE_TEXT,\n \"attach\": { defaultType: \"uri\" },\n \"attendee\": { defaultType: \"cal-address\" },\n \"calscale\": DEFAULT_TYPE_TEXT,\n \"class\": DEFAULT_TYPE_TEXT,\n \"comment\": DEFAULT_TYPE_TEXT,\n \"completed\": DEFAULT_TYPE_DATETIME,\n \"contact\": DEFAULT_TYPE_TEXT,\n \"created\": DEFAULT_TYPE_DATETIME,\n \"description\": DEFAULT_TYPE_TEXT,\n \"dtend\": DEFAULT_TYPE_DATETIME_DATE,\n \"dtstamp\": DEFAULT_TYPE_DATETIME,\n \"dtstart\": DEFAULT_TYPE_DATETIME_DATE,\n \"due\": DEFAULT_TYPE_DATETIME_DATE,\n \"duration\": { defaultType: \"duration\" },\n \"exdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n multiValue: ','\n },\n \"exrule\": DEFAULT_TYPE_RECUR,\n \"freebusy\": { defaultType: \"period\", multiValue: \",\" },\n \"geo\": { defaultType: \"float\", structuredValue: \";\" },\n \"last-modified\": DEFAULT_TYPE_DATETIME,\n \"location\": DEFAULT_TYPE_TEXT,\n \"method\": DEFAULT_TYPE_TEXT,\n \"organizer\": { defaultType: \"cal-address\" },\n \"percent-complete\": DEFAULT_TYPE_INTEGER,\n \"priority\": DEFAULT_TYPE_INTEGER,\n \"prodid\": DEFAULT_TYPE_TEXT,\n \"related-to\": DEFAULT_TYPE_TEXT,\n \"repeat\": DEFAULT_TYPE_INTEGER,\n \"rdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\", \"period\"],\n multiValue: ',',\n detectType: function(string) {\n if (string.indexOf('/') !== -1) {\n return 'period';\n }\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"recurrence-id\": DEFAULT_TYPE_DATETIME_DATE,\n \"resources\": DEFAULT_TYPE_TEXT_MULTI,\n \"request-status\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"rrule\": DEFAULT_TYPE_RECUR,\n \"sequence\": DEFAULT_TYPE_INTEGER,\n \"status\": DEFAULT_TYPE_TEXT,\n \"summary\": DEFAULT_TYPE_TEXT,\n \"transp\": DEFAULT_TYPE_TEXT,\n \"trigger\": { defaultType: \"duration\", allowedTypes: [\"duration\", \"date-time\"] },\n \"tzoffsetfrom\": DEFAULT_TYPE_UTCOFFSET,\n \"tzoffsetto\": DEFAULT_TYPE_UTCOFFSET,\n \"tzurl\": DEFAULT_TYPE_URI,\n \"tzid\": DEFAULT_TYPE_TEXT,\n \"tzname\": DEFAULT_TYPE_TEXT\n });\n\n // When adding a value here, be sure to add it to the parameter types!\n var vcardValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n uri: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n\n date: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n if (aValue.length == 8) {\n return icalValues.date.fromICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 6) {\n return aValue.substr(0, 4) + '-' + aValue.substr(4);\n } else {\n return aValue;\n }\n },\n toICAL: function(aValue) {\n if (aValue.length == 10) {\n return icalValues.date.toICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 7) {\n return aValue.substr(0, 4) + aValue.substr(5);\n } else {\n return aValue;\n }\n }\n },\n\n time: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(\"T\" + aValue, \"time\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue, true);\n var zone = splitzone[0], value = splitzone[1];\n\n //console.log(\"SPLIT: \",splitzone);\n\n if (value.length == 6) {\n value = value.substr(0, 2) + ':' +\n value.substr(2, 2) + ':' +\n value.substr(4, 2);\n } else if (value.length == 4 && value[0] != '-') {\n value = value.substr(0, 2) + ':' + value.substr(2, 2);\n } else if (value.length == 5) {\n value = value.substr(0, 3) + ':' + value.substr(3, 2);\n }\n\n if (zone.length == 5 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + ':' + zone.substr(3);\n }\n\n return value + zone;\n },\n\n toICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue);\n var zone = splitzone[0], value = splitzone[1];\n\n if (value.length == 8) {\n value = value.substr(0, 2) +\n value.substr(3, 2) +\n value.substr(6, 2);\n } else if (value.length == 5 && value[0] != '-') {\n value = value.substr(0, 2) + value.substr(3, 2);\n } else if (value.length == 6) {\n value = value.substr(0, 3) + value.substr(4, 2);\n }\n\n if (zone.length == 6 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + zone.substr(4);\n }\n\n return value + zone;\n },\n\n _splitZone: function(aValue, isFromIcal) {\n var lastChar = aValue.length - 1;\n var signChar = aValue.length - (isFromIcal ? 5 : 6);\n var sign = aValue[signChar];\n var zone, value;\n\n if (aValue[lastChar] == 'Z') {\n zone = aValue[lastChar];\n value = aValue.substr(0, lastChar);\n } else if (aValue.length > 6 && (sign == '-' || sign == '+')) {\n zone = aValue.substr(signChar);\n value = aValue.substr(0, signChar);\n } else {\n zone = \"\";\n value = aValue;\n }\n\n return [zone, value];\n }\n },\n\n \"date-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n return vcardValues['date-and-or-time'].fromICAL(aValue);\n },\n\n toICAL: function(aValue) {\n return vcardValues['date-and-or-time'].toICAL(aValue);\n }\n },\n\n \"date-and-or-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-and-or-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n var parts = aValue.split('T');\n return (parts[0] ? vcardValues.date.fromICAL(parts[0]) : '') +\n (parts[1] ? 'T' + vcardValues.time.fromICAL(parts[1]) : '');\n },\n\n toICAL: function(aValue) {\n var parts = aValue.split('T');\n return vcardValues.date.toICAL(parts[0]) +\n (parts[1] ? 'T' + vcardValues.time.toICAL(parts[1]) : '');\n\n }\n },\n timestamp: icalValues['date-time'],\n \"language-tag\": {\n matches: /^[a-zA-Z0-9-]+$/ // Could go with a more strict regex here\n }\n });\n\n var vcardParams = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"time\", \"date-time\", \"date-and-or-time\",\n \"timestamp\", \"boolean\", \"integer\", \"float\", \"utc-offset\",\n \"language-tag\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcardProperties = ICAL.helpers.extend(commonProperties, {\n \"adr\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"anniversary\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"bday\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"caladruri\": DEFAULT_TYPE_URI,\n \"caluri\": DEFAULT_TYPE_URI,\n \"clientpidmap\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"email\": DEFAULT_TYPE_TEXT,\n \"fburl\": DEFAULT_TYPE_URI,\n \"fn\": DEFAULT_TYPE_TEXT,\n \"gender\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"geo\": DEFAULT_TYPE_URI,\n \"impp\": DEFAULT_TYPE_URI,\n \"key\": DEFAULT_TYPE_URI,\n \"kind\": DEFAULT_TYPE_TEXT,\n \"lang\": { defaultType: \"language-tag\" },\n \"logo\": DEFAULT_TYPE_URI,\n \"member\": DEFAULT_TYPE_URI,\n \"n\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"nickname\": DEFAULT_TYPE_TEXT_MULTI,\n \"note\": DEFAULT_TYPE_TEXT,\n \"org\": { defaultType: \"text\", structuredValue: \";\" },\n \"photo\": DEFAULT_TYPE_URI,\n \"related\": DEFAULT_TYPE_URI,\n \"rev\": { defaultType: \"timestamp\" },\n \"role\": DEFAULT_TYPE_TEXT,\n \"sound\": DEFAULT_TYPE_URI,\n \"source\": DEFAULT_TYPE_URI,\n \"tel\": { defaultType: \"uri\", allowedTypes: [\"uri\", \"text\"] },\n \"title\": DEFAULT_TYPE_TEXT,\n \"tz\": { defaultType: \"text\", allowedTypes: [\"text\", \"utc-offset\", \"uri\"] },\n \"xml\": DEFAULT_TYPE_TEXT\n });\n\n var vcard3Values = ICAL.helpers.extend(commonValues, {\n binary: icalValues.binary,\n date: vcardValues.date,\n \"date-time\": vcardValues[\"date-time\"],\n \"phone-number\": {\n // TODO\n /* ... */\n },\n uri: icalValues.uri,\n text: icalValues.text,\n time: icalValues.time,\n vcard: icalValues.text,\n \"utc-offset\": {\n toICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n fromICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n });\n\n var vcard3Params = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"date-time\", \"phone-number\", \"time\",\n \"boolean\", \"integer\", \"float\", \"utc-offset\", \"vcard\", \"binary\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcard3Properties = ICAL.helpers.extend(commonProperties, {\n fn: DEFAULT_TYPE_TEXT,\n n: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n nickname: DEFAULT_TYPE_TEXT_MULTI,\n photo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n bday: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n\n adr: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n label: DEFAULT_TYPE_TEXT,\n\n tel: { defaultType: \"phone-number\" },\n email: DEFAULT_TYPE_TEXT,\n mailer: DEFAULT_TYPE_TEXT,\n\n tz: { defaultType: \"utc-offset\", allowedTypes: [\"utc-offset\", \"text\"] },\n geo: { defaultType: \"float\", structuredValue: \";\" },\n\n title: DEFAULT_TYPE_TEXT,\n role: DEFAULT_TYPE_TEXT,\n logo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n agent: { defaultType: \"vcard\", allowedTypes: [\"vcard\", \"text\", \"uri\"] },\n org: DEFAULT_TYPE_TEXT_STRUCTURED,\n\n note: DEFAULT_TYPE_TEXT_MULTI,\n prodid: DEFAULT_TYPE_TEXT,\n rev: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"sort-string\": DEFAULT_TYPE_TEXT,\n sound: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n\n class: DEFAULT_TYPE_TEXT,\n key: { defaultType: \"binary\", allowedTypes: [\"binary\", \"text\"] }\n });\n\n /**\n * iCalendar design set\n * @type {ICAL.design.designSet}\n */\n var icalSet = {\n value: icalValues,\n param: icalParams,\n property: icalProperties\n };\n\n /**\n * vCard 4.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcardSet = {\n value: vcardValues,\n param: vcardParams,\n property: vcardProperties\n };\n\n /**\n * vCard 3.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcard3Set = {\n value: vcard3Values,\n param: vcard3Params,\n property: vcard3Properties\n };\n\n /**\n * The design data, used by the parser to determine types for properties and\n * other metadata needed to produce correct jCard/jCal data.\n *\n * @alias ICAL.design\n * @namespace\n */\n var design = {\n /**\n * A designSet describes value, parameter and property data. It is used by\n * ther parser and stringifier in components and properties to determine they\n * should be represented.\n *\n * @typedef {Object} designSet\n * @memberOf ICAL.design\n * @property {Object} value Definitions for value types, keys are type names\n * @property {Object} param Definitions for params, keys are param names\n * @property {Object} property Defintions for properties, keys are property names\n */\n\n /**\n * Can be set to false to make the parser more lenient.\n */\n strict: true,\n\n /**\n * The default set for new properties and components if none is specified.\n * @type {ICAL.design.designSet}\n */\n defaultSet: icalSet,\n\n /**\n * The default type for unknown properties\n * @type {String}\n */\n defaultType: 'unknown',\n\n /**\n * Holds the design set for known top-level components\n *\n * @type {Object}\n * @property {ICAL.design.designSet} vcard vCard VCARD\n * @property {ICAL.design.designSet} vevent iCalendar VEVENT\n * @property {ICAL.design.designSet} vtodo iCalendar VTODO\n * @property {ICAL.design.designSet} vjournal iCalendar VJOURNAL\n * @property {ICAL.design.designSet} valarm iCalendar VALARM\n * @property {ICAL.design.designSet} vtimezone iCalendar VTIMEZONE\n * @property {ICAL.design.designSet} daylight iCalendar DAYLIGHT\n * @property {ICAL.design.designSet} standard iCalendar STANDARD\n *\n * @example\n * var propertyName = 'fn';\n * var componentDesign = ICAL.design.components.vcard;\n * var propertyDetails = componentDesign.property[propertyName];\n * if (propertyDetails.defaultType == 'text') {\n * // Yep, sure is...\n * }\n */\n components: {\n vcard: vcardSet,\n vcard3: vcard3Set,\n vevent: icalSet,\n vtodo: icalSet,\n vjournal: icalSet,\n valarm: icalSet,\n vtimezone: icalSet,\n daylight: icalSet,\n standard: icalSet\n },\n\n\n /**\n * The design set for iCalendar (rfc5545/rfc7265) components.\n * @type {ICAL.design.designSet}\n */\n icalendar: icalSet,\n\n /**\n * The design set for vCard (rfc6350/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard: vcardSet,\n\n /**\n * The design set for vCard (rfc2425/rfc2426/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard3: vcard3Set,\n\n /**\n * Gets the design set for the given component name.\n *\n * @param {String} componentName The name of the component\n * @return {ICAL.design.designSet} The design set for the component\n */\n getDesignSet: function(componentName) {\n var isInDesign = componentName && componentName in design.components;\n return isInDesign ? design.components[componentName] : design.defaultSet;\n }\n };\n\n return design;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to convert jCal and jCard data back into\n * iCalendar and vCard.\n * @namespace\n */\nICAL.stringify = (function() {\n 'use strict';\n\n var LINE_ENDING = '\\r\\n';\n var DEFAULT_VALUE_TYPE = 'unknown';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * Convert a full jCal/jCard array into a iCalendar/vCard string.\n *\n * @function ICAL.stringify\n * @variation function\n * @param {Array} jCal The jCal/jCard document\n * @return {String} The stringified iCalendar/vCard document\n */\n function stringify(jCal) {\n if (typeof jCal[0] == \"string\") {\n // This is a single component\n jCal = [jCal];\n }\n\n var i = 0;\n var len = jCal.length;\n var result = '';\n\n for (; i < len; i++) {\n result += stringify.component(jCal[i]) + LINE_ENDING;\n }\n\n return result;\n }\n\n /**\n * Converts an jCal component array into a ICAL string.\n * Recursive will resolve sub-components.\n *\n * Exact component/property order is not saved all\n * properties will come before subcomponents.\n *\n * @function ICAL.stringify.component\n * @param {Array} component\n * jCal/jCard fragment of a component\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this component\n * @return {String} The iCalendar/vCard string\n */\n stringify.component = function(component, designSet) {\n var name = component[0].toUpperCase();\n var result = 'BEGIN:' + name + LINE_ENDING;\n\n var props = component[1];\n var propIdx = 0;\n var propLen = props.length;\n\n var designSetName = component[0];\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (designSetName === 'vcard' && component[1].length > 0 &&\n !(component[1][0][0] === \"version\" && component[1][0][3] === \"4.0\")) {\n designSetName = \"vcard3\";\n }\n designSet = designSet || design.getDesignSet(designSetName);\n\n for (; propIdx < propLen; propIdx++) {\n result += stringify.property(props[propIdx], designSet) + LINE_ENDING;\n }\n\n // Ignore subcomponents if none exist, e.g. in vCard.\n var comps = component[2] || [];\n var compIdx = 0;\n var compLen = comps.length;\n\n for (; compIdx < compLen; compIdx++) {\n result += stringify.component(comps[compIdx], designSet) + LINE_ENDING;\n }\n\n result += 'END:' + name;\n return result;\n };\n\n /**\n * Converts a single jCal/jCard property to a iCalendar/vCard string.\n *\n * @function ICAL.stringify.property\n * @param {Array} property\n * jCal/jCard property array\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n * @param {Boolean} noFold\n * If true, the line is not folded\n * @return {String} The iCalendar/vCard string\n */\n stringify.property = function(property, designSet, noFold) {\n var name = property[0].toUpperCase();\n var jsName = property[0];\n var params = property[1];\n\n var line = name;\n\n var paramName;\n for (paramName in params) {\n var value = params[paramName];\n\n /* istanbul ignore else */\n if (params.hasOwnProperty(paramName)) {\n var multiValue = (paramName in designSet.param) && designSet.param[paramName].multiValue;\n if (multiValue && Array.isArray(value)) {\n if (designSet.param[paramName].multiValueSeparateDQuote) {\n multiValue = '\"' + multiValue + '\"';\n }\n value = value.map(stringify._rfc6868Unescape);\n value = stringify.multiValue(value, multiValue, \"unknown\", null, designSet);\n } else {\n value = stringify._rfc6868Unescape(value);\n }\n\n\n line += ';' + paramName.toUpperCase();\n line += '=' + stringify.propertyValue(value);\n }\n }\n\n if (property.length === 3) {\n // If there are no values, we must assume a blank value\n return line + ':';\n }\n\n var valueType = property[2];\n\n if (!designSet) {\n designSet = design.defaultSet;\n }\n\n var propDetails;\n var multiValue = false;\n var structuredValue = false;\n var isDefault = false;\n\n if (jsName in designSet.property) {\n propDetails = designSet.property[jsName];\n\n if ('multiValue' in propDetails) {\n multiValue = propDetails.multiValue;\n }\n\n if (('structuredValue' in propDetails) && Array.isArray(property[3])) {\n structuredValue = propDetails.structuredValue;\n }\n\n if ('defaultType' in propDetails) {\n if (valueType === propDetails.defaultType) {\n isDefault = true;\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n\n // push the VALUE property if type is not the default\n // for the current property.\n if (!isDefault) {\n // value will never contain ;/:/, so we don't escape it here.\n line += ';VALUE=' + valueType.toUpperCase();\n }\n\n line += ':';\n\n if (multiValue && structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, multiValue, designSet, structuredValue\n );\n } else if (multiValue) {\n line += stringify.multiValue(\n property.slice(3), multiValue, valueType, null, designSet, false\n );\n } else if (structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, null, designSet, structuredValue\n );\n } else {\n line += stringify.value(property[3], valueType, designSet, false);\n }\n\n return noFold ? line : ICAL.helpers.foldline(line);\n };\n\n /**\n * Handles escaping of property values that may contain:\n *\n * COLON (:), SEMICOLON (;), or COMMA (,)\n *\n * If any of the above are present the result is wrapped\n * in double quotes.\n *\n * @function ICAL.stringify.propertyValue\n * @param {String} value Raw property value\n * @return {String} Given or escaped value when needed\n */\n stringify.propertyValue = function(value) {\n\n if ((helpers.unescapedIndexOf(value, ',') === -1) &&\n (helpers.unescapedIndexOf(value, ':') === -1) &&\n (helpers.unescapedIndexOf(value, ';') === -1)) {\n\n return value;\n }\n\n return '\"' + value + '\"';\n };\n\n /**\n * Converts an array of ical values into a single\n * string based on a type and a delimiter value (like \",\").\n *\n * @function ICAL.stringify.multiValue\n * @param {Array} values List of values to convert\n * @param {String} delim Used to join the values (\",\", \";\", \":\")\n * @param {String} type Lowecase ical value type\n * (like boolean, date-time, etc..)\n * @param {?String} innerMulti If set, each value will again be processed\n * Used for structured values\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n *\n * @return {String} iCalendar/vCard string for value\n */\n stringify.multiValue = function(values, delim, type, innerMulti, designSet, structuredValue) {\n var result = '';\n var len = values.length;\n var i = 0;\n\n for (; i < len; i++) {\n if (innerMulti && Array.isArray(values[i])) {\n result += stringify.multiValue(values[i], innerMulti, type, null, designSet, structuredValue);\n } else {\n result += stringify.value(values[i], type, designSet, structuredValue);\n }\n\n if (i !== (len - 1)) {\n result += delim;\n }\n }\n\n return result;\n };\n\n /**\n * Processes a single ical value runs the associated \"toICAL\" method from the\n * design value type if available to convert the value.\n *\n * @function ICAL.stringify.value\n * @param {String|Number} value A formatted value\n * @param {String} type Lowercase iCalendar/vCard value type\n * (like boolean, date-time, etc..)\n * @return {String} iCalendar/vCard value for single value\n */\n stringify.value = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'toICAL' in designSet.value[type]) {\n return designSet.value[type].toICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.stringify so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @param {String} val The value to unescape\n * @return {String} The escaped value\n */\n stringify._rfc6868Unescape = function(val) {\n return val.replace(/[\\n^\"]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { '\"': \"^'\", \"\\n\": \"^n\", \"^\": \"^^\" };\n\n return stringify;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to parse iCalendar and vCard data.\n * @namespace\n */\nICAL.parse = (function() {\n 'use strict';\n\n var CHAR = /[^ \\t]/;\n var MULTIVALUE_DELIMITER = ',';\n var VALUE_DELIMITER = ':';\n var PARAM_DELIMITER = ';';\n var PARAM_NAME_DELIMITER = '=';\n var DEFAULT_VALUE_TYPE = 'unknown';\n var DEFAULT_PARAM_TYPE = 'text';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * An error that occurred during parsing.\n *\n * @param {String} message The error message\n * @memberof ICAL.parse\n * @extends {Error}\n * @class\n */\n function ParserError(message) {\n this.message = message;\n this.name = 'ParserError';\n\n try {\n throw new Error();\n } catch (e) {\n if (e.stack) {\n var split = e.stack.split('\\n');\n split.shift();\n this.stack = split.join('\\n');\n }\n }\n }\n\n ParserError.prototype = Error.prototype;\n\n /**\n * Parses iCalendar or vCard data into a raw jCal object. Consult\n * documentation on the {@tutorial layers|layers of parsing} for more\n * details.\n *\n * @function ICAL.parse\n * @variation function\n * @todo Fix the API to be more clear on the return type\n * @param {String} input The string data to parse\n * @return {Object|Object[]} A single jCal object, or an array thereof\n */\n function parser(input) {\n var state = {};\n var root = state.component = [];\n\n state.stack = [root];\n\n parser._eachLine(input, function(err, line) {\n parser._handleContentLine(line, state);\n });\n\n\n // when there are still items on the stack\n // throw a fatal error, a component was not closed\n // correctly in that case.\n if (state.stack.length > 1) {\n throw new ParserError(\n 'invalid ical body. component began but did not end'\n );\n }\n\n state = null;\n\n return (root.length == 1 ? root[0] : root);\n }\n\n /**\n * Parse an iCalendar property value into the jCal for a single property\n *\n * @function ICAL.parse.property\n * @param {String} str\n * The iCalendar property string to parse\n * @param {ICAL.design.designSet=} designSet\n * The design data to use for this property\n * @return {Object}\n * The jCal Object containing the property\n */\n parser.property = function(str, designSet) {\n var state = {\n component: [[], []],\n designSet: designSet || design.defaultSet\n };\n parser._handleContentLine(str, state);\n return state.component[1][0];\n };\n\n /**\n * Convenience method to parse a component. You can use ICAL.parse() directly\n * instead.\n *\n * @function ICAL.parse.component\n * @see ICAL.parse(function)\n * @param {String} str The iCalendar component string to parse\n * @return {Object} The jCal Object containing the component\n */\n parser.component = function(str) {\n return parser(str);\n };\n\n // classes & constants\n parser.ParserError = ParserError;\n\n /**\n * The state for parsing content lines from an iCalendar/vCard string.\n *\n * @private\n * @memberof ICAL.parse\n * @typedef {Object} parserState\n * @property {ICAL.design.designSet} designSet The design set to use for parsing\n * @property {ICAL.Component[]} stack The stack of components being processed\n * @property {ICAL.Component} component The currently active component\n */\n\n\n /**\n * Handles a single line of iCalendar/vCard, updating the state.\n *\n * @private\n * @function ICAL.parse._handleContentLine\n * @param {String} line The content line to process\n * @param {ICAL.parse.parserState} The current state of the line parsing\n */\n parser._handleContentLine = function(line, state) {\n // break up the parts of the line\n var valuePos = line.indexOf(VALUE_DELIMITER);\n var paramPos = line.indexOf(PARAM_DELIMITER);\n\n var lastParamIndex;\n var lastValuePos;\n\n // name of property or begin/end\n var name;\n var value;\n // params is only overridden if paramPos !== -1.\n // we can't do params = params || {} later on\n // because it sacrifices ops.\n var params = {};\n\n /**\n * Different property cases\n *\n *\n * 1. RRULE:FREQ=foo\n * // FREQ= is not a param but the value\n *\n * 2. ATTENDEE;ROLE=REQ-PARTICIPANT;\n * // ROLE= is a param because : has not happened yet\n */\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n\n if ((paramPos !== -1 && valuePos !== -1)) {\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n if (paramPos > valuePos) {\n paramPos = -1;\n }\n }\n\n var parsedParams;\n if (paramPos !== -1) {\n name = line.substring(0, paramPos).toLowerCase();\n parsedParams = parser._parseParameters(line.substring(paramPos), 0, state.designSet);\n if (parsedParams[2] == -1) {\n throw new ParserError(\"Invalid parameters in '\" + line + \"'\");\n }\n params = parsedParams[0];\n lastParamIndex = parsedParams[1].length + parsedParams[2] + paramPos;\n if ((lastValuePos =\n line.substring(lastParamIndex).indexOf(VALUE_DELIMITER)) !== -1) {\n value = line.substring(lastParamIndex + lastValuePos + 1);\n } else {\n throw new ParserError(\"Missing parameter value in '\" + line + \"'\");\n }\n } else if (valuePos !== -1) {\n // without parmeters (BEGIN:VCAENDAR, CLASS:PUBLIC)\n name = line.substring(0, valuePos).toLowerCase();\n value = line.substring(valuePos + 1);\n\n if (name === 'begin') {\n var newComponent = [value.toLowerCase(), [], []];\n if (state.stack.length === 1) {\n state.component.push(newComponent);\n } else {\n state.component[2].push(newComponent);\n }\n state.stack.push(state.component);\n state.component = newComponent;\n if (!state.designSet) {\n state.designSet = design.getDesignSet(state.component[0]);\n }\n return;\n } else if (name === 'end') {\n state.component = state.stack.pop();\n return;\n }\n // If its not begin/end, then this is a property with an empty value,\n // which should be considered valid.\n } else {\n /**\n * Invalid line.\n * The rational to throw an error is we will\n * never be certain that the rest of the file\n * is sane and its unlikely that we can serialize\n * the result correctly either.\n */\n throw new ParserError(\n 'invalid line (no token \";\" or \":\") \"' + line + '\"'\n );\n }\n\n var valueType;\n var multiValue = false;\n var structuredValue = false;\n var propertyDetails;\n\n if (name in state.designSet.property) {\n propertyDetails = state.designSet.property[name];\n\n if ('multiValue' in propertyDetails) {\n multiValue = propertyDetails.multiValue;\n }\n\n if ('structuredValue' in propertyDetails) {\n structuredValue = propertyDetails.structuredValue;\n }\n\n if (value && 'detectType' in propertyDetails) {\n valueType = propertyDetails.detectType(value);\n }\n }\n\n // attempt to determine value\n if (!valueType) {\n if (!('value' in params)) {\n if (propertyDetails) {\n valueType = propertyDetails.defaultType;\n } else {\n valueType = DEFAULT_VALUE_TYPE;\n }\n } else {\n // possible to avoid this?\n valueType = params.value.toLowerCase();\n }\n }\n\n delete params.value;\n\n /**\n * Note on `var result` juggling:\n *\n * I observed that building the array in pieces has adverse\n * effects on performance, so where possible we inline the creation.\n * Its a little ugly but resulted in ~2000 additional ops/sec.\n */\n\n var result;\n if (multiValue && structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], multiValue, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else if (multiValue) {\n result = [name, params, valueType];\n parser._parseMultiValue(value, multiValue, valueType, result, null, state.designSet, false);\n } else if (structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], null, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else {\n value = parser._parseValue(value, valueType, state.designSet, false);\n result = [name, params, valueType, value];\n }\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (state.component[0] === 'vcard' && state.component[1].length === 0 &&\n !(name === 'version' && value === '4.0')) {\n state.designSet = design.getDesignSet(\"vcard3\");\n }\n state.component[1].push(result);\n };\n\n /**\n * Parse a value from the raw value into the jCard/jCal value.\n *\n * @private\n * @function ICAL.parse._parseValue\n * @param {String} value Original value\n * @param {String} type Type of value\n * @param {Object} designSet The design data to use for this value\n * @return {Object} varies on type\n */\n parser._parseValue = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'fromICAL' in designSet.value[type]) {\n return designSet.value[type].fromICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Parse parameters from a string to object.\n *\n * @function ICAL.parse._parseParameters\n * @private\n * @param {String} line A single unfolded line\n * @param {Numeric} start Position to start looking for properties\n * @param {Object} designSet The design data to use for this property\n * @return {Object} key/value pairs\n */\n parser._parseParameters = function(line, start, designSet) {\n var lastParam = start;\n var pos = 0;\n var delim = PARAM_NAME_DELIMITER;\n var result = {};\n var name, lcname;\n var value, valuePos = -1;\n var type, multiValue, mvdelim;\n\n // find the next '=' sign\n // use lastParam and pos to find name\n // check if \" is used if so get value from \"->\"\n // then increment pos to find next ;\n\n while ((pos !== false) &&\n (pos = helpers.unescapedIndexOf(line, delim, pos + 1)) !== -1) {\n\n name = line.substr(lastParam + 1, pos - lastParam - 1);\n if (name.length == 0) {\n throw new ParserError(\"Empty parameter name in '\" + line + \"'\");\n }\n lcname = name.toLowerCase();\n mvdelim = false;\n multiValue = false;\n\n if (lcname in designSet.param && designSet.param[lcname].valueType) {\n type = designSet.param[lcname].valueType;\n } else {\n type = DEFAULT_PARAM_TYPE;\n }\n\n if (lcname in designSet.param) {\n multiValue = designSet.param[lcname].multiValue;\n if (designSet.param[lcname].multiValueSeparateDQuote) {\n mvdelim = parser._rfc6868Escape('\"' + multiValue + '\"');\n }\n }\n\n var nextChar = line[pos + 1];\n if (nextChar === '\"') {\n valuePos = pos + 2;\n pos = helpers.unescapedIndexOf(line, '\"', valuePos);\n if (multiValue && pos != -1) {\n var extendedValue = true;\n while (extendedValue) {\n if (line[pos + 1] == multiValue && line[pos + 2] == '\"') {\n pos = helpers.unescapedIndexOf(line, '\"', pos + 3);\n } else {\n extendedValue = false;\n }\n }\n }\n if (pos === -1) {\n throw new ParserError(\n 'invalid line (no matching double quote) \"' + line + '\"'\n );\n }\n value = line.substr(valuePos, pos - valuePos);\n lastParam = helpers.unescapedIndexOf(line, PARAM_DELIMITER, pos);\n if (lastParam === -1) {\n pos = false;\n }\n } else {\n valuePos = pos + 1;\n\n // move to next \";\"\n var nextPos = helpers.unescapedIndexOf(line, PARAM_DELIMITER, valuePos);\n var propValuePos = helpers.unescapedIndexOf(line, VALUE_DELIMITER, valuePos);\n if (propValuePos !== -1 && nextPos > propValuePos) {\n // this is a delimiter in the property value, let's stop here\n nextPos = propValuePos;\n pos = false;\n } else if (nextPos === -1) {\n // no \";\"\n if (propValuePos === -1) {\n nextPos = line.length;\n } else {\n nextPos = propValuePos;\n }\n pos = false;\n } else {\n lastParam = nextPos;\n pos = nextPos;\n }\n\n value = line.substr(valuePos, nextPos - valuePos);\n }\n\n value = parser._rfc6868Escape(value);\n if (multiValue) {\n var delimiter = mvdelim || multiValue;\n value = parser._parseMultiValue(value, delimiter, type, [], null, designSet);\n } else {\n value = parser._parseValue(value, type, designSet);\n }\n\n if (multiValue && (lcname in result)) {\n if (Array.isArray(result[lcname])) {\n result[lcname].push(value);\n } else {\n result[lcname] = [\n result[lcname],\n value\n ];\n }\n } else {\n result[lcname] = value;\n }\n }\n return [result, value, valuePos];\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.parse so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @function ICAL.parse._rfc6868Escape\n * @param {String} val The value to escape\n * @return {String} The escaped value\n */\n parser._rfc6868Escape = function(val) {\n return val.replace(/\\^['n^]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { \"^'\": '\"', \"^n\": \"\\n\", \"^^\": \"^\" };\n\n /**\n * Parse a multi value string. This function is used either for parsing\n * actual multi-value property's values, or for handling parameter values. It\n * can be used for both multi-value properties and structured value properties.\n *\n * @private\n * @function ICAL.parse._parseMultiValue\n * @param {String} buffer The buffer containing the full value\n * @param {String} delim The multi-value delimiter\n * @param {String} type The value type to be parsed\n * @param {Array.<?>} result The array to append results to, varies on value type\n * @param {String} innerMulti The inner delimiter to split each value with\n * @param {ICAL.design.designSet} designSet The design data for this value\n * @return {?|Array.<?>} Either an array of results, or the first result\n */\n parser._parseMultiValue = function(buffer, delim, type, result, innerMulti, designSet, structuredValue) {\n var pos = 0;\n var lastPos = 0;\n var value;\n if (delim.length === 0) {\n return buffer;\n }\n\n // split each piece\n while ((pos = helpers.unescapedIndexOf(buffer, delim, lastPos)) !== -1) {\n value = buffer.substr(lastPos, pos - lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n lastPos = pos + delim.length;\n }\n\n // on the last piece take the rest of string\n value = buffer.substr(lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n\n return result.length == 1 ? result[0] : result;\n };\n\n /**\n * Process a complete buffer of iCalendar/vCard data line by line, correctly\n * unfolding content. Each line will be processed with the given callback\n *\n * @private\n * @function ICAL.parse._eachLine\n * @param {String} buffer The buffer to process\n * @param {function(?String, String)} callback The callback for each line\n */\n parser._eachLine = function(buffer, callback) {\n var len = buffer.length;\n var lastPos = buffer.search(CHAR);\n var pos = lastPos;\n var line;\n var firstChar;\n\n var newlineOffset;\n\n do {\n pos = buffer.indexOf('\\n', lastPos) + 1;\n\n if (pos > 1 && buffer[pos - 2] === '\\r') {\n newlineOffset = 2;\n } else {\n newlineOffset = 1;\n }\n\n if (pos === 0) {\n pos = len;\n newlineOffset = 0;\n }\n\n firstChar = buffer[lastPos];\n\n if (firstChar === ' ' || firstChar === '\\t') {\n // add to line\n line += buffer.substr(\n lastPos + 1,\n pos - lastPos - (newlineOffset + 1)\n );\n } else {\n if (line)\n callback(null, line);\n // push line\n line = buffer.substr(\n lastPos,\n pos - lastPos - newlineOffset\n );\n }\n\n lastPos = pos;\n } while (pos !== len);\n\n // extra ending line\n line = line.trim();\n\n if (line.length)\n callback(null, line);\n };\n\n return parser;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Component = (function() {\n 'use strict';\n\n var PROPERTY_INDEX = 1;\n var COMPONENT_INDEX = 2;\n var NAME_INDEX = 0;\n\n /**\n * @classdesc\n * Wraps a jCal component, adding convenience methods to add, remove and\n * update subcomponents and properties.\n *\n * @class\n * @alias ICAL.Component\n * @param {Array|String} jCal Raw jCal component data OR name of new\n * component\n * @param {ICAL.Component} parent Parent component to associate\n */\n function Component(jCal, parent) {\n if (typeof(jCal) === 'string') {\n // jCal spec (name, properties, components)\n jCal = [jCal, [], []];\n }\n\n // mostly for legacy reasons.\n this.jCal = jCal;\n\n this.parent = parent || null;\n }\n\n Component.prototype = {\n /**\n * Hydrated properties are inserted into the _properties array at the same\n * position as in the jCal array, so its possible the array contains\n * undefined values for unhydrdated properties. To avoid iterating the\n * array when checking if all properties have been hydrated, we save the\n * count here.\n *\n * @type {Number}\n * @private\n */\n _hydratedPropertyCount: 0,\n\n /**\n * The same count as for _hydratedPropertyCount, but for subcomponents\n *\n * @type {Number}\n * @private\n */\n _hydratedComponentCount: 0,\n\n /**\n * The name of this component\n * @readonly\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The design set for this component, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n var parentDesign = this.parent && this.parent._designSet;\n return parentDesign || ICAL.design.getDesignSet(this.name);\n },\n\n _hydrateComponent: function(index) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (this._components[index]) {\n return this._components[index];\n }\n\n var comp = new Component(\n this.jCal[COMPONENT_INDEX][index],\n this\n );\n\n this._hydratedComponentCount++;\n return (this._components[index] = comp);\n },\n\n _hydrateProperty: function(index) {\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (this._properties[index]) {\n return this._properties[index];\n }\n\n var prop = new ICAL.Property(\n this.jCal[PROPERTY_INDEX][index],\n this\n );\n\n this._hydratedPropertyCount++;\n return (this._properties[index] = prop);\n },\n\n /**\n * Finds first sub component, optionally filtered by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {?ICAL.Component} The found subcomponent\n */\n getFirstSubcomponent: function(name) {\n if (name) {\n var i = 0;\n var comps = this.jCal[COMPONENT_INDEX];\n var len = comps.length;\n\n for (; i < len; i++) {\n if (comps[i][NAME_INDEX] === name) {\n var result = this._hydrateComponent(i);\n return result;\n }\n }\n } else {\n if (this.jCal[COMPONENT_INDEX].length) {\n return this._hydrateComponent(0);\n }\n }\n\n // ensure we return a value (strict mode)\n return null;\n },\n\n /**\n * Finds all sub components, optionally filtering by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {ICAL.Component[]} The found sub components\n */\n getAllSubcomponents: function(name) {\n var jCalLen = this.jCal[COMPONENT_INDEX].length;\n var i = 0;\n\n if (name) {\n var comps = this.jCal[COMPONENT_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === comps[i][NAME_INDEX]) {\n result.push(\n this._hydrateComponent(i)\n );\n }\n }\n return result;\n } else {\n if (!this._components ||\n (this._hydratedComponentCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateComponent(i);\n }\n }\n\n return this._components || [];\n }\n },\n\n /**\n * Returns true when a named property exists.\n *\n * @param {String} name The property name\n * @return {Boolean} True, when property is found\n */\n hasProperty: function(name) {\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n var i = 0;\n for (; i < len; i++) {\n // 0 is property name\n if (props[i][NAME_INDEX] === name) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Finds the first property, optionally with the given name.\n *\n * @param {String=} name Lowercase property name\n * @return {?ICAL.Property} The found property\n */\n getFirstProperty: function(name) {\n if (name) {\n var i = 0;\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n for (; i < len; i++) {\n if (props[i][NAME_INDEX] === name) {\n var result = this._hydrateProperty(i);\n return result;\n }\n }\n } else {\n if (this.jCal[PROPERTY_INDEX].length) {\n return this._hydrateProperty(0);\n }\n }\n\n return null;\n },\n\n /**\n * Returns first property's value, if available.\n *\n * @param {String=} name Lowercase property name\n * @return {?String} The found property value.\n */\n getFirstPropertyValue: function(name) {\n var prop = this.getFirstProperty(name);\n if (prop) {\n return prop.getFirstValue();\n }\n\n return null;\n },\n\n /**\n * Get all properties in the component, optionally filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {ICAL.Property[]} List of properties\n */\n getAllProperties: function(name) {\n var jCalLen = this.jCal[PROPERTY_INDEX].length;\n var i = 0;\n\n if (name) {\n var props = this.jCal[PROPERTY_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === props[i][NAME_INDEX]) {\n result.push(\n this._hydrateProperty(i)\n );\n }\n }\n return result;\n } else {\n if (!this._properties ||\n (this._hydratedPropertyCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateProperty(i);\n }\n }\n\n return this._properties || [];\n }\n },\n\n _removeObjectByIndex: function(jCalIndex, cache, index) {\n cache = cache || [];\n // remove cached version\n if (cache[index]) {\n var obj = cache[index];\n if (\"parent\" in obj) {\n obj.parent = null;\n }\n }\n\n cache.splice(index, 1);\n\n // remove it from the jCal\n this.jCal[jCalIndex].splice(index, 1);\n },\n\n _removeObject: function(jCalIndex, cache, nameOrObject) {\n var i = 0;\n var objects = this.jCal[jCalIndex];\n var len = objects.length;\n var cached = this[cache];\n\n if (typeof(nameOrObject) === 'string') {\n for (; i < len; i++) {\n if (objects[i][NAME_INDEX] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n } else if (cached) {\n for (; i < len; i++) {\n if (cached[i] && cached[i] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n }\n\n return false;\n },\n\n _removeAllObjects: function(jCalIndex, cache, name) {\n var cached = this[cache];\n\n // Unfortunately we have to run through all children to reset their\n // parent property.\n var objects = this.jCal[jCalIndex];\n var i = objects.length - 1;\n\n // descending search required because splice\n // is used and will effect the indices.\n for (; i >= 0; i--) {\n if (!name || objects[i][NAME_INDEX] === name) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n }\n }\n },\n\n /**\n * Adds a single sub component.\n *\n * @param {ICAL.Component} component The component to add\n * @return {ICAL.Component} The passed in component\n */\n addSubcomponent: function(component) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (component.parent) {\n component.parent.removeSubcomponent(component);\n }\n\n var idx = this.jCal[COMPONENT_INDEX].push(component.jCal);\n this._components[idx - 1] = component;\n this._hydratedComponentCount++;\n component.parent = this;\n return component;\n },\n\n /**\n * Removes a single component by name or the instance of a specific\n * component.\n *\n * @param {ICAL.Component|String} nameOrComp Name of component, or component\n * @return {Boolean} True when comp is removed\n */\n removeSubcomponent: function(nameOrComp) {\n var removed = this._removeObject(COMPONENT_INDEX, '_components', nameOrComp);\n if (removed) {\n this._hydratedComponentCount--;\n }\n return removed;\n },\n\n /**\n * Removes all components or (if given) all components by a particular\n * name.\n *\n * @param {String=} name Lowercase component name\n */\n removeAllSubcomponents: function(name) {\n var removed = this._removeAllObjects(COMPONENT_INDEX, '_components', name);\n this._hydratedComponentCount = 0;\n return removed;\n },\n\n /**\n * Adds an {@link ICAL.Property} to the component.\n *\n * @param {ICAL.Property} property The property to add\n * @return {ICAL.Property} The passed in property\n */\n addProperty: function(property) {\n if (!(property instanceof ICAL.Property)) {\n throw new TypeError('must instance of ICAL.Property');\n }\n\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (property.parent) {\n property.parent.removeProperty(property);\n }\n\n var idx = this.jCal[PROPERTY_INDEX].push(property.jCal);\n this._properties[idx - 1] = property;\n this._hydratedPropertyCount++;\n property.parent = this;\n return property;\n },\n\n /**\n * Helper method to add a property with a value to the component.\n *\n * @param {String} name Property name to add\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n addPropertyWithValue: function(name, value) {\n var prop = new ICAL.Property(name);\n prop.setValue(value);\n\n this.addProperty(prop);\n\n return prop;\n },\n\n /**\n * Helper method that will update or create a property of the given name\n * and sets its value. If multiple properties with the given name exist,\n * only the first is updated.\n *\n * @param {String} name Property name to update\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n updatePropertyWithValue: function(name, value) {\n var prop = this.getFirstProperty(name);\n\n if (prop) {\n prop.setValue(value);\n } else {\n prop = this.addPropertyWithValue(name, value);\n }\n\n return prop;\n },\n\n /**\n * Removes a single property by name or the instance of the specific\n * property.\n *\n * @param {String|ICAL.Property} nameOrProp Property name or instance to remove\n * @return {Boolean} True, when deleted\n */\n removeProperty: function(nameOrProp) {\n var removed = this._removeObject(PROPERTY_INDEX, '_properties', nameOrProp);\n if (removed) {\n this._hydratedPropertyCount--;\n }\n return removed;\n },\n\n /**\n * Removes all properties associated with this component, optionally\n * filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Boolean} True, when deleted\n */\n removeAllProperties: function(name) {\n var removed = this._removeAllObjects(PROPERTY_INDEX, '_properties', name);\n this._hydratedPropertyCount = 0;\n return removed;\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toString: function() {\n return ICAL.stringify.component(\n this.jCal, this._designSet\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Component} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n */\n Component.fromString = function(str) {\n return new Component(ICAL.parse.component(str));\n };\n\n return Component;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Property = (function() {\n 'use strict';\n\n var NAME_INDEX = 0;\n var PROP_INDEX = 1;\n var TYPE_INDEX = 2;\n var VALUE_INDEX = 3;\n\n var design = ICAL.design;\n\n /**\n * @classdesc\n * Provides a layer on top of the raw jCal object for manipulating a single\n * property, with its parameters and value.\n *\n * @description\n * Its important to note that mutations done in the wrapper\n * directly mutate the jCal object used to initialize.\n *\n * Can also be used to create new properties by passing\n * the name of the property (as a String).\n *\n * @class\n * @alias ICAL.Property\n * @param {Array|String} jCal Raw jCal representation OR\n * the new name of the property\n *\n * @param {ICAL.Component=} parent Parent component\n */\n function Property(jCal, parent) {\n this._parent = parent || null;\n\n if (typeof(jCal) === 'string') {\n // We are creating the property by name and need to detect the type\n this.jCal = [jCal, {}, design.defaultType];\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n } else {\n this.jCal = jCal;\n }\n this._updateType();\n }\n\n Property.prototype = {\n\n /**\n * The value type for this property\n * @readonly\n * @type {String}\n */\n get type() {\n return this.jCal[TYPE_INDEX];\n },\n\n /**\n * The name of this property, in lowercase.\n * @readonly\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The parent component for this property.\n * @type {ICAL.Component}\n */\n get parent() {\n return this._parent;\n },\n\n set parent(p) {\n // Before setting the parent, check if the design set has changed. If it\n // has, we later need to update the type if it was unknown before.\n var designSetChanged = !this._parent || (p && p._designSet != this._parent._designSet);\n\n this._parent = p;\n\n if (this.type == design.defaultType && designSetChanged) {\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n this._updateType();\n }\n\n return p;\n },\n\n /**\n * The design set for this property, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n return this.parent ? this.parent._designSet : design.defaultSet;\n },\n\n /**\n * Updates the type metadata from the current jCal type and design set.\n *\n * @private\n */\n _updateType: function() {\n var designSet = this._designSet;\n\n if (this.type in designSet.value) {\n var designType = designSet.value[this.type];\n\n if ('decorate' in designSet.value[this.type]) {\n this.isDecorated = true;\n } else {\n this.isDecorated = false;\n }\n\n if (this.name in designSet.property) {\n this.isMultiValue = ('multiValue' in designSet.property[this.name]);\n this.isStructuredValue = ('structuredValue' in designSet.property[this.name]);\n }\n }\n },\n\n /**\n * Hydrate a single value. The act of hydrating means turning the raw jCal\n * value into a potentially wrapped object, for example {@link ICAL.Time}.\n *\n * @private\n * @param {Number} index The index of the value to hydrate\n * @return {Object} The decorated value.\n */\n _hydrateValue: function(index) {\n if (this._values && this._values[index]) {\n return this._values[index];\n }\n\n // for the case where there is no value.\n if (this.jCal.length <= (VALUE_INDEX + index)) {\n return null;\n }\n\n if (this.isDecorated) {\n if (!this._values) {\n this._values = [];\n }\n return (this._values[index] = this._decorate(\n this.jCal[VALUE_INDEX + index]\n ));\n } else {\n return this.jCal[VALUE_INDEX + index];\n }\n },\n\n /**\n * Decorate a single value, returning its wrapped object. This is used by\n * the hydrate function to actually wrap the value.\n *\n * @private\n * @param {?} value The value to decorate\n * @return {Object} The decorated value\n */\n _decorate: function(value) {\n return this._designSet.value[this.type].decorate(value, this);\n },\n\n /**\n * Undecorate a single value, returning its raw jCal data.\n *\n * @private\n * @param {Object} value The value to undecorate\n * @return {?} The undecorated value\n */\n _undecorate: function(value) {\n return this._designSet.value[this.type].undecorate(value, this);\n },\n\n /**\n * Sets the value at the given index while also hydrating it. The passed\n * value can either be a decorated or undecorated value.\n *\n * @private\n * @param {?} value The value to set\n * @param {Number} index The index to set it at\n */\n _setDecoratedValue: function(value, index) {\n if (!this._values) {\n this._values = [];\n }\n\n if (typeof(value) === 'object' && 'icaltype' in value) {\n // decorated value\n this.jCal[VALUE_INDEX + index] = this._undecorate(value);\n this._values[index] = value;\n } else {\n // undecorated value\n this.jCal[VALUE_INDEX + index] = value;\n this._values[index] = this._decorate(value);\n }\n },\n\n /**\n * Gets a parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {Array|String} Property value\n */\n getParameter: function(name) {\n if (name in this.jCal[PROP_INDEX]) {\n return this.jCal[PROP_INDEX][name];\n } else {\n return undefined;\n }\n },\n\n /**\n * Gets first parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {String} Property value\n */\n getFirstParameter: function(name) {\n var parameters = this.getParameter(name);\n\n if (Array.isArray(parameters)) {\n return parameters[0];\n }\n\n return parameters;\n },\n\n /**\n * Sets a parameter on the property.\n *\n * @param {String} name The parameter name\n * @param {Array|String} value The parameter value\n */\n setParameter: function(name, value) {\n var lcname = name.toLowerCase();\n if (typeof value === \"string\" &&\n lcname in this._designSet.param &&\n 'multiValue' in this._designSet.param[lcname]) {\n value = [value];\n }\n this.jCal[PROP_INDEX][name] = value;\n },\n\n /**\n * Removes a parameter\n *\n * @param {String} name The parameter name\n */\n removeParameter: function(name) {\n delete this.jCal[PROP_INDEX][name];\n },\n\n /**\n * Get the default type based on this property's name.\n *\n * @return {String} The default type for this property\n */\n getDefaultType: function() {\n var name = this.jCal[NAME_INDEX];\n var designSet = this._designSet;\n\n if (name in designSet.property) {\n var details = designSet.property[name];\n if ('defaultType' in details) {\n return details.defaultType;\n }\n }\n return design.defaultType;\n },\n\n /**\n * Sets type of property and clears out any existing values of the current\n * type.\n *\n * @param {String} type New iCAL type (see design.*.values)\n */\n resetType: function(type) {\n this.removeAllValues();\n this.jCal[TYPE_INDEX] = type;\n this._updateType();\n },\n\n /**\n * Finds the first property value.\n *\n * @return {String} First property value\n */\n getFirstValue: function() {\n return this._hydrateValue(0);\n },\n\n /**\n * Gets all values on the property.\n *\n * NOTE: this creates an array during each call.\n *\n * @return {Array} List of values\n */\n getValues: function() {\n var len = this.jCal.length - VALUE_INDEX;\n\n if (len < 1) {\n // its possible for a property to have no value.\n return [];\n }\n\n var i = 0;\n var result = [];\n\n for (; i < len; i++) {\n result[i] = this._hydrateValue(i);\n }\n\n return result;\n },\n\n /**\n * Removes all values from this property\n */\n removeAllValues: function() {\n if (this._values) {\n this._values.length = 0;\n }\n this.jCal.length = 3;\n },\n\n /**\n * Sets the values of the property. Will overwrite the existing values.\n * This can only be used for multi-value properties.\n *\n * @param {Array} values An array of values\n */\n setValues: function(values) {\n if (!this.isMultiValue) {\n throw new Error(\n this.name + ': does not not support mulitValue.\\n' +\n 'override isMultiValue'\n );\n }\n\n var len = values.length;\n var i = 0;\n this.removeAllValues();\n\n if (len > 0 &&\n typeof(values[0]) === 'object' &&\n 'icaltype' in values[0]) {\n this.resetType(values[0].icaltype);\n }\n\n if (this.isDecorated) {\n for (; i < len; i++) {\n this._setDecoratedValue(values[i], i);\n }\n } else {\n for (; i < len; i++) {\n this.jCal[VALUE_INDEX + i] = values[i];\n }\n }\n },\n\n /**\n * Sets the current value of the property. If this is a multi-value\n * property, all other values will be removed.\n *\n * @param {String|Object} value New property value.\n */\n setValue: function(value) {\n this.removeAllValues();\n if (typeof(value) === 'object' && 'icaltype' in value) {\n this.resetType(value.icaltype);\n }\n\n if (this.isDecorated) {\n this._setDecoratedValue(value, 0);\n } else {\n this.jCal[VALUE_INDEX] = value;\n }\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.stringify.property(\n this.jCal, this._designSet, true\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Property} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n * @param {ICAL.design.designSet=} designSet The design data to use for this property\n * @return {ICAL.Property} The created iCalendar property\n */\n Property.fromString = function(str, designSet) {\n return new Property(ICAL.parse.property(str, designSet));\n };\n\n return Property;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.UtcOffset = (function() {\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.UtcOffset\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n function UtcOffset(aData) {\n this.fromData(aData);\n }\n\n UtcOffset.prototype = {\n\n /**\n * The hours in the utc-offset\n * @type {Number}\n */\n hours: 0,\n\n /**\n * The minutes in the utc-offset\n * @type {Number}\n */\n minutes: 0,\n\n /**\n * The sign of the utc offset, 1 for positive offset, -1 for negative\n * offsets.\n * @type {Number}\n */\n factor: 1,\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"utc-offset\"\n */\n icaltype: \"utc-offset\",\n\n /**\n * Returns a clone of the utc offset object.\n *\n * @return {ICAL.UtcOffset} The cloned object\n */\n clone: function() {\n return ICAL.UtcOffset.fromSeconds(this.toSeconds());\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n fromData: function(aData) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (aData.hasOwnProperty(key)) {\n this[key] = aData[key];\n }\n }\n }\n this._normalize();\n },\n\n /**\n * Sets up the current instance from the given seconds value. The seconds\n * value is truncated to the minute. Offsets are wrapped when the world\n * ends, the hour after UTC+14:00 is UTC-12:00.\n *\n * @param {Number} aSeconds The seconds to convert into an offset\n */\n fromSeconds: function(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.factor = aSeconds < 0 ? -1 : 1;\n this.hours = ICAL.helpers.trunc(secs / 3600);\n\n secs -= (this.hours * 3600);\n this.minutes = ICAL.helpers.trunc(secs / 60);\n return this;\n },\n\n /**\n * Convert the current offset to a value in seconds\n *\n * @return {Number} The offset in seconds\n */\n toSeconds: function() {\n return this.factor * (60 * this.minutes + 3600 * this.hours);\n },\n\n /**\n * Compare this utc offset with another one.\n *\n * @param {ICAL.UtcOffset} other The other offset to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toSeconds();\n var b = other.toSeconds();\n return (a > b) - (b > a);\n },\n\n _normalize: function() {\n // Range: 97200 seconds (with 1 hour inbetween)\n var secs = this.toSeconds();\n var factor = this.factor;\n while (secs < -43200) { // = UTC-12:00\n secs += 97200;\n }\n while (secs > 50400) { // = UTC+14:00\n secs -= 97200;\n }\n\n this.fromSeconds(secs);\n\n // Avoid changing the factor when on zero seconds\n if (secs == 0) {\n this.factor = factor;\n }\n },\n\n /**\n * The iCalendar string representation of this utc-offset.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.design.icalendar.value['utc-offset'].toICAL(this.toString());\n },\n\n /**\n * The string representation of this utc-offset.\n * @return {String}\n */\n toString: function toString() {\n return (this.factor == 1 ? \"+\" : \"-\") +\n ICAL.helpers.pad2(this.hours) + ':' +\n ICAL.helpers.pad2(this.minutes);\n }\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed string.\n *\n * @param {String} aString The string to parse\n * @return {ICAL.Duration} The created utc-offset instance\n */\n UtcOffset.fromString = function(aString) {\n // -05:00\n var options = {};\n //TODO: support seconds per rfc5545 ?\n options.factor = (aString[0] === '+') ? 1 : -1;\n options.hours = ICAL.helpers.strictParseInt(aString.substr(1, 2));\n options.minutes = ICAL.helpers.strictParseInt(aString.substr(4, 2));\n\n return new ICAL.UtcOffset(options);\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed seconds\n * value.\n *\n * @param {Number} aSeconds The number of seconds to convert\n */\n UtcOffset.fromSeconds = function(aSeconds) {\n var instance = new UtcOffset();\n instance.fromSeconds(aSeconds);\n return instance;\n };\n\n return UtcOffset;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Binary = (function() {\n\n /**\n * @classdesc\n * Represents the BINARY value type, which contains extra methods for\n * encoding and decoding.\n *\n * @class\n * @alias ICAL.Binary\n * @param {String} aValue The binary data for this value\n */\n function Binary(aValue) {\n this.value = aValue;\n }\n\n Binary.prototype = {\n /**\n * The type name, to be used in the jCal object.\n * @default \"binary\"\n * @constant\n */\n icaltype: \"binary\",\n\n /**\n * Base64 decode the current value\n *\n * @return {String} The base64-decoded value\n */\n decodeValue: function decodeValue() {\n return this._b64_decode(this.value);\n },\n\n /**\n * Encodes the passed parameter with base64 and sets the internal\n * value to the result.\n *\n * @param {String} aValue The raw binary value to encode\n */\n setEncodedValue: function setEncodedValue(aValue) {\n this.value = this._b64_encode(aValue);\n },\n\n _b64_encode: function base64_encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: Rafał Kukawski (http://kukawski.pl)\n // * example 1: base64_encode('Kevin van Zonneveld');\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['atob'] == 'function') {\n // return atob(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n var r = data.length % 3;\n\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n\n },\n\n _b64_decode: function base64_decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['btoa'] == 'function') {\n // return btoa(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n dec = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do { // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n\n return dec;\n },\n\n /**\n * The string representation of this value\n * @return {String}\n */\n toString: function() {\n return this.value;\n }\n };\n\n /**\n * Creates a binary value from the given string.\n *\n * @param {String} aString The binary value string\n * @return {ICAL.Binary} The binary value instance\n */\n Binary.fromString = function(aString) {\n return new Binary(aString);\n };\n\n return Binary;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n /**\n * @classdesc\n * This class represents the \"period\" value type, with various calculation\n * and manipulation methods.\n *\n * @description\n * The passed data object cannot contain both and end date and a duration.\n *\n * @class\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n */\n ICAL.Period = function icalperiod(aData) {\n this.wrappedJSObject = this;\n\n if (aData && 'start' in aData) {\n if (aData.start && !(aData.start instanceof ICAL.Time)) {\n throw new TypeError('.start must be an instance of ICAL.Time');\n }\n this.start = aData.start;\n }\n\n if (aData && aData.end && aData.duration) {\n throw new Error('cannot accept both end and duration');\n }\n\n if (aData && 'end' in aData) {\n if (aData.end && !(aData.end instanceof ICAL.Time)) {\n throw new TypeError('.end must be an instance of ICAL.Time');\n }\n this.end = aData.end;\n }\n\n if (aData && 'duration' in aData) {\n if (aData.duration && !(aData.duration instanceof ICAL.Duration)) {\n throw new TypeError('.duration must be an instance of ICAL.Duration');\n }\n this.duration = aData.duration;\n }\n };\n\n ICAL.Period.prototype = {\n\n /**\n * The start of the period\n * @type {ICAL.Time}\n */\n start: null,\n\n /**\n * The end of the period\n * @type {ICAL.Time}\n */\n end: null,\n\n /**\n * The duration of the period\n * @type {ICAL.Duration}\n */\n duration: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalperiod\"\n */\n icalclass: \"icalperiod\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"period\"\n */\n icaltype: \"period\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Period} The cloned object\n */\n clone: function() {\n return ICAL.Period.fromData({\n start: this.start ? this.start.clone() : null,\n end: this.end ? this.end.clone() : null,\n duration: this.duration ? this.duration.clone() : null\n });\n },\n\n /**\n * Calculates the duration of the period, either directly or by subtracting\n * start from end date.\n *\n * @return {ICAL.Duration} The calculated duration\n */\n getDuration: function duration() {\n if (this.duration) {\n return this.duration;\n } else {\n return this.end.subtractDate(this.start);\n }\n },\n\n /**\n * Calculates the end date of the period, either directly or by adding\n * duration to start date.\n *\n * @return {ICAL.Time} The calculated end date\n */\n getEnd: function() {\n if (this.end) {\n return this.end;\n } else {\n var end = this.start.clone();\n end.addDuration(this.duration);\n return end;\n }\n },\n\n /**\n * The string representation of this period.\n * @return {String}\n */\n toString: function toString() {\n return this.start + \"/\" + (this.end || this.duration);\n },\n\n /**\n * The jCal representation of this period type.\n * @return {Object}\n */\n toJSON: function() {\n return [this.start.toString(), (this.end || this.duration).toString()];\n },\n\n /**\n * The iCalendar string representation of this period.\n * @return {String}\n */\n toICALString: function() {\n return this.start.toICALString() + \"/\" +\n (this.end || this.duration).toICALString();\n }\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the passed string.\n *\n * @param {String} str The string to parse\n * @param {ICAL.Property} prop The property this period will be on\n * @return {ICAL.Period} The created period instance\n */\n ICAL.Period.fromString = function fromString(str, prop) {\n var parts = str.split('/');\n\n if (parts.length !== 2) {\n throw new Error(\n 'Invalid string value: \"' + str + '\" must contain a \"/\" char.'\n );\n }\n\n var options = {\n start: ICAL.Time.fromDateTimeString(parts[0], prop)\n };\n\n var end = parts[1];\n\n if (ICAL.Duration.isValueString(end)) {\n options.duration = ICAL.Duration.fromString(end);\n } else {\n options.end = ICAL.Time.fromDateTimeString(end, prop);\n }\n\n return new ICAL.Period(options);\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the given data object.\n * The passed data object cannot contain both and end date and a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromData = function fromData(aData) {\n return new ICAL.Period(aData);\n };\n\n /**\n * Returns a new period instance from the given jCal data array. The first\n * member is always the start date string, the second member is either a\n * duration or end date string.\n *\n * @param {Array<String,String>} aData The jCal data array\n * @param {ICAL.Property} aProp The property this jCal data is on\n * @param {Boolean} aLenient If true, data value can be both date and date-time\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromJSON = function(aData, aProp, aLenient) {\n function fromDateOrDateTimeString(aValue, aProp) {\n if (aLenient) {\n return ICAL.Time.fromString(aValue, aProp);\n } else {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n }\n }\n\n if (ICAL.Duration.isValueString(aData[1])) {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n duration: ICAL.Duration.fromString(aData[1])\n });\n } else {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n end: fromDateOrDateTimeString(aData[1], aProp)\n });\n }\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DURATION_LETTERS = /([PDWHMTS]{1,1})/;\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Duration\n * @param {Object} data An object with members of the duration\n * @param {Number} data.weeks Duration in weeks\n * @param {Number} data.days Duration in days\n * @param {Number} data.hours Duration in hours\n * @param {Number} data.minutes Duration in minutes\n * @param {Number} data.seconds Duration in seconds\n * @param {Boolean} data.isNegative If true, the duration is negative\n */\n ICAL.Duration = function icalduration(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Duration.prototype = {\n /**\n * The weeks in this duration\n * @type {Number}\n * @default 0\n */\n weeks: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n days: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n hours: 0,\n\n /**\n * The minutes in this duration\n * @type {Number}\n * @default 0\n */\n minutes: 0,\n\n /**\n * The seconds in this duration\n * @type {Number}\n * @default 0\n */\n seconds: 0,\n\n /**\n * The seconds in this duration\n * @type {Boolean}\n * @default false\n */\n isNegative: false,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalduration\"\n */\n icalclass: \"icalduration\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"duration\"\n */\n icaltype: \"duration\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Duration} The cloned object\n */\n clone: function clone() {\n return ICAL.Duration.fromData(this);\n },\n\n /**\n * The duration value expressed as a number of seconds.\n *\n * @return {Number} The duration value in seconds\n */\n toSeconds: function toSeconds() {\n var seconds = this.seconds + 60 * this.minutes + 3600 * this.hours +\n 86400 * this.days + 7 * 86400 * this.weeks;\n return (this.isNegative ? -seconds : seconds);\n },\n\n /**\n * Reads the passed seconds value into this duration object. Afterwards,\n * members like {@link ICAL.Duration#days days} and {@link ICAL.Duration#weeks weeks} will be set up\n * accordingly.\n *\n * @param {Number} aSeconds The duration value in seconds\n * @return {ICAL.Duration} Returns this instance\n */\n fromSeconds: function fromSeconds(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.isNegative = (aSeconds < 0);\n this.days = ICAL.helpers.trunc(secs / 86400);\n\n // If we have a flat number of weeks, use them.\n if (this.days % 7 == 0) {\n this.weeks = this.days / 7;\n this.days = 0;\n } else {\n this.weeks = 0;\n }\n\n secs -= (this.days + 7 * this.weeks) * 86400;\n\n this.hours = ICAL.helpers.trunc(secs / 3600);\n secs -= this.hours * 3600;\n\n this.minutes = ICAL.helpers.trunc(secs / 60);\n secs -= this.minutes * 60;\n\n this.seconds = secs;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n */\n fromData: function fromData(aData) {\n var propsToCopy = [\"weeks\", \"days\", \"hours\",\n \"minutes\", \"seconds\", \"isNegative\"];\n for (var key in propsToCopy) {\n /* istanbul ignore if */\n if (!propsToCopy.hasOwnProperty(key)) {\n continue;\n }\n var prop = propsToCopy[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n } else {\n this[prop] = 0;\n }\n }\n },\n\n /**\n * Resets the duration instance to the default values, i.e. PT0S\n */\n reset: function reset() {\n this.isNegative = false;\n this.weeks = 0;\n this.days = 0;\n this.hours = 0;\n this.minutes = 0;\n this.seconds = 0;\n },\n\n /**\n * Compares the duration instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function compare(aOther) {\n var thisSeconds = this.toSeconds();\n var otherSeconds = aOther.toSeconds();\n return (thisSeconds > otherSeconds) - (thisSeconds < otherSeconds);\n },\n\n /**\n * Normalizes the duration instance. For example, a duration with a value\n * of 61 seconds will be normalized to 1 minute and 1 second.\n */\n normalize: function normalize() {\n this.fromSeconds(this.toSeconds());\n },\n\n /**\n * The string representation of this duration.\n * @return {String}\n */\n toString: function toString() {\n if (this.toSeconds() == 0) {\n return \"PT0S\";\n } else {\n var str = \"\";\n if (this.isNegative) str += \"-\";\n str += \"P\";\n if (this.weeks) str += this.weeks + \"W\";\n if (this.days) str += this.days + \"D\";\n\n if (this.hours || this.minutes || this.seconds) {\n str += \"T\";\n if (this.hours) str += this.hours + \"H\";\n if (this.minutes) str += this.minutes + \"M\";\n if (this.seconds) str += this.seconds + \"S\";\n }\n return str;\n }\n },\n\n /**\n * The iCalendar string representation of this duration.\n * @return {String}\n */\n toICALString: function() {\n return this.toString();\n }\n };\n\n /**\n * Returns a new ICAL.Duration instance from the passed seconds value.\n *\n * @param {Number} aSeconds The seconds to create the instance from\n * @return {ICAL.Duration} The newly created duration instance\n */\n ICAL.Duration.fromSeconds = function icalduration_from_seconds(aSeconds) {\n return (new ICAL.Duration()).fromSeconds(aSeconds);\n };\n\n /**\n * Internal helper function to handle a chunk of a duration.\n *\n * @param {String} letter type of duration chunk\n * @param {String} number numeric value or -/+\n * @param {Object} dict target to assign values to\n */\n function parseDurationChunk(letter, number, object) {\n var type;\n switch (letter) {\n case 'P':\n if (number && number === '-') {\n object.isNegative = true;\n } else {\n object.isNegative = false;\n }\n // period\n break;\n case 'D':\n type = 'days';\n break;\n case 'W':\n type = 'weeks';\n break;\n case 'H':\n type = 'hours';\n break;\n case 'M':\n type = 'minutes';\n break;\n case 'S':\n type = 'seconds';\n break;\n default:\n // Not a valid chunk\n return 0;\n }\n\n if (type) {\n if (!number && number !== 0) {\n throw new Error(\n 'invalid duration value: Missing number before \"' + letter + '\"'\n );\n }\n var num = parseInt(number, 10);\n if (ICAL.helpers.isStrictlyNaN(num)) {\n throw new Error(\n 'invalid duration value: Invalid number \"' + number + '\" before \"' + letter + '\"'\n );\n }\n object[type] = num;\n }\n\n return 1;\n }\n\n /**\n * Checks if the given string is an iCalendar duration value.\n *\n * @param {String} value The raw ical value\n * @return {Boolean} True, if the given value is of the\n * duration ical type\n */\n ICAL.Duration.isValueString = function(string) {\n return (string[0] === 'P' || string[1] === 'P');\n };\n\n /**\n * Creates a new {@link ICAL.Duration} instance from the passed string.\n *\n * @param {String} aStr The string to parse\n * @return {ICAL.Duration} The created duration instance\n */\n ICAL.Duration.fromString = function icalduration_from_string(aStr) {\n var pos = 0;\n var dict = Object.create(null);\n var chunks = 0;\n\n while ((pos = aStr.search(DURATION_LETTERS)) !== -1) {\n var type = aStr[pos];\n var numeric = aStr.substr(0, pos);\n aStr = aStr.substr(pos + 1);\n\n chunks += parseDurationChunk(type, numeric, dict);\n }\n\n if (chunks < 2) {\n // There must be at least a chunk with \"P\" and some unit chunk\n throw new Error(\n 'invalid duration value: Not enough duration components in \"' + aStr + '\"'\n );\n }\n\n return new ICAL.Duration(dict);\n };\n\n /**\n * Creates a new ICAL.Duration instance from the given data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n * @return {ICAL.Duration} The createad duration instance\n */\n ICAL.Duration.fromData = function icalduration_from_data(aData) {\n return new ICAL.Duration(aData);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2012 */\n\n\n\n(function() {\n var OPTIONS = [\"tzid\", \"location\", \"tznames\",\n \"latitude\", \"longitude\"];\n\n /**\n * @classdesc\n * Timezone representation, created by passing in a tzid and component.\n *\n * @example\n * var vcalendar;\n * var timezoneComp = vcalendar.getFirstSubcomponent('vtimezone');\n * var tzid = timezoneComp.getFirstPropertyValue('tzid');\n *\n * var timezone = new ICAL.Timezone({\n * component: timezoneComp,\n * tzid\n * });\n *\n * @class\n * @param {ICAL.Component|Object} data options for class\n * @param {String|ICAL.Component} data.component\n * If data is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} data.tzid The timezone identifier\n * @param {String} data.location The timezone locationw\n * @param {String} data.tznames An alternative string representation of the\n * timezone\n * @param {Number} data.latitude The latitude of the timezone\n * @param {Number} data.longitude The longitude of the timezone\n */\n ICAL.Timezone = function icaltimezone(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Timezone.prototype = {\n\n /**\n * Timezone identifier\n * @type {String}\n */\n tzid: \"\",\n\n /**\n * Timezone location\n * @type {String}\n */\n location: \"\",\n\n /**\n * Alternative timezone name, for the string representation\n * @type {String}\n */\n tznames: \"\",\n\n /**\n * The primary latitude for the timezone.\n * @type {Number}\n */\n latitude: 0.0,\n\n /**\n * The primary longitude for the timezone.\n * @type {Number}\n */\n longitude: 0.0,\n\n /**\n * The vtimezone component for this timezone.\n * @type {ICAL.Component}\n */\n component: null,\n\n /**\n * The year this timezone has been expanded to. All timezone transition\n * dates until this year are known and can be used for calculation\n *\n * @private\n * @type {Number}\n */\n expandedUntilYear: 0,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltimezone\"\n */\n icalclass: \"icaltimezone\",\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n fromData: function fromData(aData) {\n this.expandedUntilYear = 0;\n this.changes = [];\n\n if (aData instanceof ICAL.Component) {\n // Either a component is passed directly\n this.component = aData;\n } else {\n // Otherwise the component may be in the data object\n if (aData && \"component\" in aData) {\n if (typeof aData.component == \"string\") {\n // If a string was passed, parse it as a component\n var jCal = ICAL.parse(aData.component);\n this.component = new ICAL.Component(jCal);\n } else if (aData.component instanceof ICAL.Component) {\n // If it was a component already, then just set it\n this.component = aData.component;\n } else {\n // Otherwise just null out the component\n this.component = null;\n }\n }\n\n // Copy remaining passed properties\n for (var key in OPTIONS) {\n /* istanbul ignore else */\n if (OPTIONS.hasOwnProperty(key)) {\n var prop = OPTIONS[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n }\n }\n }\n }\n\n // If we have a component but no TZID, attempt to get it from the\n // component's properties.\n if (this.component instanceof ICAL.Component && !this.tzid) {\n this.tzid = this.component.getFirstPropertyValue('tzid');\n }\n\n return this;\n },\n\n /**\n * Finds the utcOffset the given time would occur in this timezone.\n *\n * @param {ICAL.Time} tt The time to check for\n * @return {Number} utc offset in seconds\n */\n utcOffset: function utcOffset(tt) {\n if (this == ICAL.Timezone.utcTimezone || this == ICAL.Timezone.localTimezone) {\n return 0;\n }\n\n this._ensureCoverage(tt.year);\n\n if (!this.changes.length) {\n return 0;\n }\n\n var tt_change = {\n year: tt.year,\n month: tt.month,\n day: tt.day,\n hour: tt.hour,\n minute: tt.minute,\n second: tt.second\n };\n\n var change_num = this._findNearbyChange(tt_change);\n var change_num_to_use = -1;\n var step = 1;\n\n // TODO: replace with bin search?\n for (;;) {\n var change = ICAL.helpers.clone(this.changes[change_num], true);\n if (change.utcOffset < change.prevUtcOffset) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0, change.utcOffset);\n } else {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n change.prevUtcOffset);\n }\n\n var cmp = ICAL.Timezone._compare_change_fn(tt_change, change);\n\n if (cmp >= 0) {\n change_num_to_use = change_num;\n } else {\n step = -1;\n }\n\n if (step == -1 && change_num_to_use != -1) {\n break;\n }\n\n change_num += step;\n\n if (change_num < 0) {\n return 0;\n }\n\n if (change_num >= this.changes.length) {\n break;\n }\n }\n\n var zone_change = this.changes[change_num_to_use];\n var utcOffset_change = zone_change.utcOffset - zone_change.prevUtcOffset;\n\n if (utcOffset_change < 0 && change_num_to_use > 0) {\n var tmp_change = ICAL.helpers.clone(zone_change, true);\n ICAL.Timezone.adjust_change(tmp_change, 0, 0, 0,\n tmp_change.prevUtcOffset);\n\n if (ICAL.Timezone._compare_change_fn(tt_change, tmp_change) < 0) {\n var prev_zone_change = this.changes[change_num_to_use - 1];\n\n var want_daylight = false; // TODO\n\n if (zone_change.is_daylight != want_daylight &&\n prev_zone_change.is_daylight == want_daylight) {\n zone_change = prev_zone_change;\n }\n }\n }\n\n // TODO return is_daylight?\n return zone_change.utcOffset;\n },\n\n _findNearbyChange: function icaltimezone_find_nearby_change(change) {\n // find the closest match\n var idx = ICAL.helpers.binsearchInsert(\n this.changes,\n change,\n ICAL.Timezone._compare_change_fn\n );\n\n if (idx >= this.changes.length) {\n return this.changes.length - 1;\n }\n\n return idx;\n },\n\n _ensureCoverage: function(aYear) {\n if (ICAL.Timezone._minimumExpansionYear == -1) {\n var today = ICAL.Time.now();\n ICAL.Timezone._minimumExpansionYear = today.year;\n }\n\n var changesEndYear = aYear;\n if (changesEndYear < ICAL.Timezone._minimumExpansionYear) {\n changesEndYear = ICAL.Timezone._minimumExpansionYear;\n }\n\n changesEndYear += ICAL.Timezone.EXTRA_COVERAGE;\n\n if (changesEndYear > ICAL.Timezone.MAX_YEAR) {\n changesEndYear = ICAL.Timezone.MAX_YEAR;\n }\n\n if (!this.changes.length || this.expandedUntilYear < aYear) {\n var subcomps = this.component.getAllSubcomponents();\n var compLen = subcomps.length;\n var compIdx = 0;\n\n for (; compIdx < compLen; compIdx++) {\n this._expandComponent(\n subcomps[compIdx], changesEndYear, this.changes\n );\n }\n\n this.changes.sort(ICAL.Timezone._compare_change_fn);\n this.expandedUntilYear = changesEndYear;\n }\n },\n\n _expandComponent: function(aComponent, aYear, changes) {\n if (!aComponent.hasProperty(\"dtstart\") ||\n !aComponent.hasProperty(\"tzoffsetto\") ||\n !aComponent.hasProperty(\"tzoffsetfrom\")) {\n return null;\n }\n\n var dtstart = aComponent.getFirstProperty(\"dtstart\").getFirstValue();\n var change;\n\n function convert_tzoffset(offset) {\n return offset.factor * (offset.hours * 3600 + offset.minutes * 60);\n }\n\n function init_changes() {\n var changebase = {};\n changebase.is_daylight = (aComponent.name == \"daylight\");\n changebase.utcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetto\").getFirstValue()\n );\n\n changebase.prevUtcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetfrom\").getFirstValue()\n );\n\n return changebase;\n }\n\n if (!aComponent.hasProperty(\"rrule\") && !aComponent.hasProperty(\"rdate\")) {\n change = init_changes();\n change.year = dtstart.year;\n change.month = dtstart.month;\n change.day = dtstart.day;\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n } else {\n var props = aComponent.getAllProperties(\"rdate\");\n for (var rdatekey in props) {\n /* istanbul ignore if */\n if (!props.hasOwnProperty(rdatekey)) {\n continue;\n }\n var rdate = props[rdatekey];\n var time = rdate.getFirstValue();\n change = init_changes();\n\n change.year = time.year;\n change.month = time.month;\n change.day = time.day;\n\n if (time.isDate) {\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n if (dtstart.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n } else {\n change.hour = time.hour;\n change.minute = time.minute;\n change.second = time.second;\n\n if (time.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n }\n\n changes.push(change);\n }\n\n var rrule = aComponent.getFirstProperty(\"rrule\");\n\n if (rrule) {\n rrule = rrule.getFirstValue();\n change = init_changes();\n\n if (rrule.until && rrule.until.zone == ICAL.Timezone.utcTimezone) {\n rrule.until.adjust(0, 0, 0, change.prevUtcOffset);\n rrule.until.zone = ICAL.Timezone.localTimezone;\n }\n\n var iterator = rrule.iterator(dtstart);\n\n var occ;\n while ((occ = iterator.next())) {\n change = init_changes();\n if (occ.year > aYear || !occ) {\n break;\n }\n\n change.year = occ.year;\n change.month = occ.month;\n change.day = occ.day;\n change.hour = occ.hour;\n change.minute = occ.minute;\n change.second = occ.second;\n change.isDate = occ.isDate;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n }\n }\n }\n\n return changes;\n },\n\n /**\n * The string representation of this timezone.\n * @return {String}\n */\n toString: function toString() {\n return (this.tznames ? this.tznames : this.tzid);\n }\n };\n\n ICAL.Timezone._compare_change_fn = function icaltimezone_compare_change_fn(a, b) {\n if (a.year < b.year) return -1;\n else if (a.year > b.year) return 1;\n\n if (a.month < b.month) return -1;\n else if (a.month > b.month) return 1;\n\n if (a.day < b.day) return -1;\n else if (a.day > b.day) return 1;\n\n if (a.hour < b.hour) return -1;\n else if (a.hour > b.hour) return 1;\n\n if (a.minute < b.minute) return -1;\n else if (a.minute > b.minute) return 1;\n\n if (a.second < b.second) return -1;\n else if (a.second > b.second) return 1;\n\n return 0;\n };\n\n /**\n * Convert the date/time from one zone to the next.\n *\n * @param {ICAL.Time} tt The time to convert\n * @param {ICAL.Timezone} from_zone The source zone to convert from\n * @param {ICAL.Timezone} to_zone The target zone to convert to\n * @return {ICAL.Time} The converted date/time object\n */\n ICAL.Timezone.convert_time = function icaltimezone_convert_time(tt, from_zone, to_zone) {\n if (tt.isDate ||\n from_zone.tzid == to_zone.tzid ||\n from_zone == ICAL.Timezone.localTimezone ||\n to_zone == ICAL.Timezone.localTimezone) {\n tt.zone = to_zone;\n return tt;\n }\n\n var utcOffset = from_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, - utcOffset);\n\n utcOffset = to_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, utcOffset);\n\n return null;\n };\n\n /**\n * Creates a new ICAL.Timezone instance from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n ICAL.Timezone.fromData = function icaltimezone_fromData(aData) {\n var tt = new ICAL.Timezone();\n return tt.fromData(aData);\n };\n\n /**\n * The instance describing the UTC timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.utcTimezone = ICAL.Timezone.fromData({\n tzid: \"UTC\"\n });\n\n /**\n * The instance describing the local timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.localTimezone = ICAL.Timezone.fromData({\n tzid: \"floating\"\n });\n\n /**\n * Adjust a timezone change object.\n * @private\n * @param {Object} change The timezone change object\n * @param {Number} days The extra amount of days\n * @param {Number} hours The extra amount of hours\n * @param {Number} minutes The extra amount of minutes\n * @param {Number} seconds The extra amount of seconds\n */\n ICAL.Timezone.adjust_change = function icaltimezone_adjust_change(change, days, hours, minutes, seconds) {\n return ICAL.Time.prototype.adjust.call(\n change,\n days,\n hours,\n minutes,\n seconds,\n change\n );\n };\n\n ICAL.Timezone._minimumExpansionYear = -1;\n ICAL.Timezone.MAX_YEAR = 2035; // TODO this is because of time_t, which we don't need. Still usefull?\n ICAL.Timezone.EXTRA_COVERAGE = 5;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.TimezoneService = (function() {\n var zones;\n\n /**\n * @classdesc\n * Singleton class to contain timezones. Right now its all manual registry in\n * the future we may use this class to download timezone information or handle\n * loading pre-expanded timezones.\n *\n * @namespace\n * @alias ICAL.TimezoneService\n */\n var TimezoneService = {\n get count() {\n return Object.keys(zones).length;\n },\n\n reset: function() {\n zones = Object.create(null);\n var utc = ICAL.Timezone.utcTimezone;\n\n zones.Z = utc;\n zones.UTC = utc;\n zones.GMT = utc;\n },\n\n /**\n * Checks if timezone id has been registered.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Boolean} False, when not present\n */\n has: function(tzid) {\n return !!zones[tzid];\n },\n\n /**\n * Returns a timezone by its tzid if present.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The timezone, or null if not found\n */\n get: function(tzid) {\n return zones[tzid];\n },\n\n /**\n * Registers a timezone object or component.\n *\n * @param {String=} name\n * The name of the timezone. Defaults to the component's TZID if not\n * passed.\n * @param {ICAL.Component|ICAL.Timezone} zone\n * The initialized zone or vtimezone.\n */\n register: function(name, timezone) {\n if (name instanceof ICAL.Component) {\n if (name.name === 'vtimezone') {\n timezone = new ICAL.Timezone(name);\n name = timezone.tzid;\n }\n }\n\n if (timezone instanceof ICAL.Timezone) {\n zones[name] = timezone;\n } else {\n throw new TypeError('timezone must be ICAL.Timezone or ICAL.Component');\n }\n },\n\n /**\n * Removes a timezone by its tzid from the list.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The removed timezone, or null if not registered\n */\n remove: function(tzid) {\n return (delete zones[tzid]);\n }\n };\n\n // initialize defaults\n TimezoneService.reset();\n\n return TimezoneService;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n\n /**\n * @classdesc\n * iCalendar Time representation (similar to JS Date object). Fully\n * independent of system (OS) timezone / time. Unlike JS Date, the month\n * January is 1, not zero.\n *\n * @example\n * var time = new ICAL.Time({\n * year: 2012,\n * month: 10,\n * day: 11\n * minute: 0,\n * second: 0,\n * isDate: false\n * });\n *\n *\n * @alias ICAL.Time\n * @class\n * @param {Object} data Time initialization\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Boolean=} data.isDate If true, the instance represents a date (as\n * opposed to a date-time)\n * @param {ICAL.Timezone} zone timezone this position occurs in\n */\n ICAL.Time = function icaltime(data, zone) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n /* time defaults */\n time.year = 0;\n time.month = 1;\n time.day = 1;\n time.hour = 0;\n time.minute = 0;\n time.second = 0;\n time.isDate = false;\n\n this.fromData(data, zone);\n };\n\n ICAL.Time._dowCache = {};\n ICAL.Time._wnCache = {};\n\n ICAL.Time.prototype = {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltime\"\n */\n icalclass: \"icaltime\",\n _cachedUnixTime: null,\n\n /**\n * The type name, to be used in the jCal object. This value may change and\n * is strictly defined by the {@link ICAL.Time#isDate isDate} member.\n * @readonly\n * @type {String}\n * @default \"date-time\"\n */\n get icaltype() {\n return this.isDate ? 'date' : 'date-time';\n },\n\n /**\n * The timezone for this time.\n * @type {ICAL.Timezone}\n */\n zone: null,\n\n /**\n * Internal uses to indicate that a change has been made and the next read\n * operation must attempt to normalize the value (for example changing the\n * day to 33).\n *\n * @type {Boolean}\n * @private\n */\n _pendingNormalization: false,\n\n /**\n * Returns a clone of the time object.\n *\n * @return {ICAL.Time} The cloned object\n */\n clone: function() {\n return new ICAL.Time(this._time, this.zone);\n },\n\n /**\n * Reset the time instance to epoch time\n */\n reset: function icaltime_reset() {\n this.fromData(ICAL.Time.epochTime);\n this.zone = ICAL.Timezone.utcTimezone;\n },\n\n /**\n * Reset the time instance to the given date/time values.\n *\n * @param {Number} year The year to set\n * @param {Number} month The month to set\n * @param {Number} day The day to set\n * @param {Number} hour The hour to set\n * @param {Number} minute The minute to set\n * @param {Number} second The second to set\n * @param {ICAL.Timezone} timezone The timezone to set\n */\n resetTo: function icaltime_resetTo(year, month, day,\n hour, minute, second, timezone) {\n this.fromData({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n zone: timezone\n });\n },\n\n /**\n * Set up the current instance from the Javascript date value.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n fromJSDate: function icaltime_fromJSDate(aDate, useUTC) {\n if (!aDate) {\n this.reset();\n } else {\n if (useUTC) {\n this.zone = ICAL.Timezone.utcTimezone;\n this.year = aDate.getUTCFullYear();\n this.month = aDate.getUTCMonth() + 1;\n this.day = aDate.getUTCDate();\n this.hour = aDate.getUTCHours();\n this.minute = aDate.getUTCMinutes();\n this.second = aDate.getUTCSeconds();\n } else {\n this.zone = ICAL.Timezone.localTimezone;\n this.year = aDate.getFullYear();\n this.month = aDate.getMonth() + 1;\n this.day = aDate.getDate();\n this.hour = aDate.getHours();\n this.minute = aDate.getMinutes();\n this.second = aDate.getSeconds();\n }\n }\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n fromData: function fromData(aData, aZone) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aData, key)) {\n // ical type cannot be set\n if (key === 'icaltype') continue;\n this[key] = aData[key];\n }\n }\n }\n\n if (aZone) {\n this.zone = aZone;\n }\n\n if (aData && !(\"isDate\" in aData)) {\n this.isDate = !(\"hour\" in aData);\n } else if (aData && (\"isDate\" in aData)) {\n this.isDate = aData.isDate;\n }\n\n if (aData && \"timezone\" in aData) {\n var zone = ICAL.TimezoneService.get(\n aData.timezone\n );\n\n this.zone = zone || ICAL.Timezone.localTimezone;\n }\n\n if (aData && \"zone\" in aData) {\n this.zone = aData.zone;\n }\n\n if (!this.zone) {\n this.zone = ICAL.Timezone.localTimezone;\n }\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Calculate the day of week.\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time.weekDay}\n */\n dayOfWeek: function icaltime_dayOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dowCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + firstDow;\n if (dowCacheKey in ICAL.Time._dowCache) {\n return ICAL.Time._dowCache[dowCacheKey];\n }\n\n // Using Zeller's algorithm\n var q = this.day;\n var m = this.month + (this.month < 3 ? 12 : 0);\n var Y = this.year - (this.month < 3 ? 1 : 0);\n\n var h = (q + Y + ICAL.helpers.trunc(((m + 1) * 26) / 10) + ICAL.helpers.trunc(Y / 4));\n /* istanbul ignore else */\n if (true /* gregorian */) {\n h += ICAL.helpers.trunc(Y / 100) * 6 + ICAL.helpers.trunc(Y / 400);\n } else {\n h += 5;\n }\n\n // Normalize to 1 = wkst\n h = ((h + 7 - firstDow) % 7) + 1;\n ICAL.Time._dowCache[dowCacheKey] = h;\n return h;\n },\n\n /**\n * Calculate the day of year.\n * @return {Number}\n */\n dayOfYear: function dayOfYear() {\n var is_leap = (ICAL.Time.isLeapYear(this.year) ? 1 : 0);\n var diypm = ICAL.Time.daysInYearPassedMonth;\n return diypm[is_leap][this.month - 1] + this.day;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * week. The resulting ICAL.Time instance is of icaltype date, even if this\n * is a date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The start of the week (cloned)\n */\n startOfWeek: function startOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day -= ((this.dayOfWeek() + 7 - firstDow) % 7);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the week.\n * The resulting ICAL.Time instance is of icaltype date, even if this is a\n * date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The end of the week (cloned)\n */\n endOfWeek: function endOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day += (7 - this.dayOfWeek() + firstDow - ICAL.Time.SUNDAY) % 7;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the month (cloned)\n */\n startOfMonth: function startOfMonth() {\n var result = this.clone();\n result.day = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the month (cloned)\n */\n endOfMonth: function endOfMonth() {\n var result = this.clone();\n result.day = ICAL.Time.daysInMonth(result.month, result.year);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the year (cloned)\n */\n startOfYear: function startOfYear() {\n var result = this.clone();\n result.day = 1;\n result.month = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the year (cloned)\n */\n endOfYear: function endOfYear() {\n var result = this.clone();\n result.day = 31;\n result.month = 12;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * First calculates the start of the week, then returns the day of year for\n * this date. If the day falls into the previous year, the day is zero or negative.\n *\n * @param {ICAL.Time.weekDay=} aFirstDayOfWeek\n * The week start weekday, defaults to SUNDAY\n * @return {Number} The calculated day of year\n */\n startDoyWeek: function startDoyWeek(aFirstDayOfWeek) {\n var firstDow = aFirstDayOfWeek || ICAL.Time.SUNDAY;\n var delta = this.dayOfWeek() - firstDow;\n if (delta < 0) delta += 7;\n return this.dayOfYear() - delta;\n },\n\n /**\n * Get the dominical letter for the current year. Letters range from A - G\n * for common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n getDominicalLetter: function() {\n return ICAL.Time.getDominicalLetter(this.year);\n },\n\n /**\n * Finds the nthWeekDay relative to the current month (not day). The\n * returned value is a day relative the month that this month belongs to so\n * 1 would indicate the first of the month and 40 would indicate a day in\n * the following month.\n *\n * @param {Number} aDayOfWeek Day of the week see the day name constants\n * @param {Number} aPos Nth occurrence of a given week day values\n * of 1 and 0 both indicate the first weekday of that type. aPos may\n * be either positive or negative\n *\n * @return {Number} numeric value indicating a day relative\n * to the current month of this time object\n */\n nthWeekDay: function icaltime_nthWeekDay(aDayOfWeek, aPos) {\n var daysInMonth = ICAL.Time.daysInMonth(this.month, this.year);\n var weekday;\n var pos = aPos;\n\n var start = 0;\n\n var otherDay = this.clone();\n\n if (pos >= 0) {\n otherDay.day = 1;\n\n // because 0 means no position has been given\n // 1 and 0 indicate the same day.\n if (pos != 0) {\n // remove the extra numeric value\n pos--;\n }\n\n // set current start offset to current day.\n start = otherDay.day;\n\n // find the current day of week\n var startDow = otherDay.dayOfWeek();\n\n // calculate the difference between current\n // day of the week and desired day of the week\n var offset = aDayOfWeek - startDow;\n\n\n // if the offset goes into the past\n // week we add 7 so its goes into the next\n // week. We only want to go forward in time here.\n if (offset < 0)\n // this is really important otherwise we would\n // end up with dates from in the past.\n offset += 7;\n\n // add offset to start so start is the same\n // day of the week as the desired day of week.\n start += offset;\n\n // because we are going to add (and multiply)\n // the numeric value of the day we subtract it\n // from the start position so not to add it twice.\n start -= aDayOfWeek;\n\n // set week day\n weekday = aDayOfWeek;\n } else {\n\n // then we set it to the last day in the current month\n otherDay.day = daysInMonth;\n\n // find the ends weekday\n var endDow = otherDay.dayOfWeek();\n\n pos++;\n\n weekday = (endDow - aDayOfWeek);\n\n if (weekday < 0) {\n weekday += 7;\n }\n\n weekday = daysInMonth - weekday;\n }\n\n weekday += pos * 7;\n\n return start + weekday;\n },\n\n /**\n * Checks if current time is the nth weekday, relative to the current\n * month. Will always return false when rule resolves outside of current\n * month.\n *\n * @param {ICAL.Time.weekDay} aDayOfWeek Day of week to check\n * @param {Number} aPos Relative position\n * @return {Boolean} True, if its the nth weekday\n */\n isNthWeekDay: function(aDayOfWeek, aPos) {\n var dow = this.dayOfWeek();\n\n if (aPos === 0 && dow === aDayOfWeek) {\n return true;\n }\n\n // get pos\n var day = this.nthWeekDay(aDayOfWeek, aPos);\n\n if (day === this.day) {\n return true;\n }\n\n return false;\n },\n\n /**\n * Calculates the ISO 8601 week number. The first week of a year is the\n * week that contains the first Thursday. The year can have 53 weeks, if\n * January 1st is a Friday.\n *\n * Note there are regions where the first week of the year is the one that\n * starts on January 1st, which may offset the week number. Also, if a\n * different week start is specified, this will also affect the week\n * number.\n *\n * @see ICAL.Time.weekOneStarts\n * @param {ICAL.Time.weekDay} aWeekStart The weekday the week starts with\n * @return {Number} The ISO week number\n */\n weekNumber: function weekNumber(aWeekStart) {\n var wnCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + aWeekStart;\n if (wnCacheKey in ICAL.Time._wnCache) {\n return ICAL.Time._wnCache[wnCacheKey];\n }\n // This function courtesty of Julian Bucknall, published under the MIT license\n // http://www.boyet.com/articles/publishedarticles/calculatingtheisoweeknumb.html\n // plus some fixes to be able to use different week starts.\n var week1;\n\n var dt = this.clone();\n dt.isDate = true;\n var isoyear = this.year;\n\n if (dt.month == 12 && dt.day > 25) {\n week1 = ICAL.Time.weekOneStarts(isoyear + 1, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n } else {\n isoyear++;\n }\n } else {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(--isoyear, aWeekStart);\n }\n }\n\n var daysBetween = (dt.subtractDate(week1).toSeconds() / 86400);\n var answer = ICAL.helpers.trunc(daysBetween / 7) + 1;\n ICAL.Time._wnCache[wnCacheKey] = answer;\n return answer;\n },\n\n /**\n * Adds the duration to the current time. The instance is modified in\n * place.\n *\n * @param {ICAL.Duration} aDuration The duration to add\n */\n addDuration: function icaltime_add(aDuration) {\n var mult = (aDuration.isNegative ? -1 : 1);\n\n // because of the duration optimizations it is much\n // more efficient to grab all the values up front\n // then set them directly (which will avoid a normalization call).\n // So we don't actually normalize until we need it.\n var second = this.second;\n var minute = this.minute;\n var hour = this.hour;\n var day = this.day;\n\n second += mult * aDuration.seconds;\n minute += mult * aDuration.minutes;\n hour += mult * aDuration.hours;\n day += mult * aDuration.days;\n day += mult * 7 * aDuration.weeks;\n\n this.second = second;\n this.minute = minute;\n this.hour = hour;\n this.day = day;\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Subtract the date details (_excluding_ timezone). Useful for finding\n * the relative difference between two time objects excluding their\n * timezone differences.\n *\n * @param {ICAL.Time} aDate The date to substract\n * @return {ICAL.Duration} The difference as a duration\n */\n subtractDate: function icaltime_subtract(aDate) {\n var unixTime = this.toUnixTime() + this.utcOffset();\n var other = aDate.toUnixTime() + aDate.utcOffset();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Subtract the date details, taking timezones into account.\n *\n * @param {ICAL.Time} aDate The date to subtract\n * @return {ICAL.Duration} The difference in duration\n */\n subtractDateTz: function icaltime_subtract_abs(aDate) {\n var unixTime = this.toUnixTime();\n var other = aDate.toUnixTime();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Compares the ICAL.Time instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toUnixTime();\n var b = other.toUnixTime();\n\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n },\n\n /**\n * Compares only the date part of this instance with another one.\n *\n * @param {ICAL.Duration} other The instance to compare with\n * @param {ICAL.Timezone} tz The timezone to compare in\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compareDateOnlyTz: function icaltime_compareDateOnlyTz(other, tz) {\n function cmp(attr) {\n return ICAL.Time._cmp_attr(a, b, attr);\n }\n var a = this.convertToZone(tz);\n var b = other.convertToZone(tz);\n var rc = 0;\n\n if ((rc = cmp(\"year\")) != 0) return rc;\n if ((rc = cmp(\"month\")) != 0) return rc;\n if ((rc = cmp(\"day\")) != 0) return rc;\n\n return rc;\n },\n\n /**\n * Convert the instance into another timzone. The returned ICAL.Time\n * instance is always a copy.\n *\n * @param {ICAL.Timezone} zone The zone to convert to\n * @return {ICAL.Time} The copy, converted to the zone\n */\n convertToZone: function convertToZone(zone) {\n var copy = this.clone();\n var zone_equals = (this.zone.tzid == zone.tzid);\n\n if (!this.isDate && !zone_equals) {\n ICAL.Timezone.convert_time(copy, this.zone, zone);\n }\n\n copy.zone = zone;\n return copy;\n },\n\n /**\n * Calculates the UTC offset of the current date/time in the timezone it is\n * in.\n *\n * @return {Number} UTC offset in seconds\n */\n utcOffset: function utc_offset() {\n if (this.zone == ICAL.Timezone.localTimezone ||\n this.zone == ICAL.Timezone.utcTimezone) {\n return 0;\n } else {\n return this.zone.utcOffset(this);\n }\n },\n\n /**\n * Returns an RFC 5545 compliant ical representation of this object.\n *\n * @return {String} ical date/date-time\n */\n toICALString: function() {\n var string = this.toString();\n\n if (string.length > 10) {\n return ICAL.design.icalendar.value['date-time'].toICAL(string);\n } else {\n return ICAL.design.icalendar.value.date.toICAL(string);\n }\n },\n\n /**\n * The string representation of this date/time, in jCal form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var result = this.year + '-' +\n ICAL.helpers.pad2(this.month) + '-' +\n ICAL.helpers.pad2(this.day);\n\n if (!this.isDate) {\n result += 'T' + ICAL.helpers.pad2(this.hour) + ':' +\n ICAL.helpers.pad2(this.minute) + ':' +\n ICAL.helpers.pad2(this.second);\n\n if (this.zone === ICAL.Timezone.utcTimezone) {\n result += 'Z';\n }\n }\n\n return result;\n },\n\n /**\n * Converts the current instance to a Javascript date\n * @return {Date}\n */\n toJSDate: function toJSDate() {\n if (this.zone == ICAL.Timezone.localTimezone) {\n if (this.isDate) {\n return new Date(this.year, this.month - 1, this.day);\n } else {\n return new Date(this.year, this.month - 1, this.day,\n this.hour, this.minute, this.second, 0);\n }\n } else {\n return new Date(this.toUnixTime() * 1000);\n }\n },\n\n _normalize: function icaltime_normalize() {\n var isDate = this._time.isDate;\n if (this._time.isDate) {\n this._time.hour = 0;\n this._time.minute = 0;\n this._time.second = 0;\n }\n this.adjust(0, 0, 0, 0);\n\n return this;\n },\n\n /**\n * Adjust the date/time by the given offset\n *\n * @param {Number} aExtraDays The extra amount of days\n * @param {Number} aExtraHours The extra amount of hours\n * @param {Number} aExtraMinutes The extra amount of minutes\n * @param {Number} aExtraSeconds The extra amount of seconds\n * @param {Number=} aTime The time to adjust, defaults to the\n * current instance.\n */\n adjust: function icaltime_adjust(aExtraDays, aExtraHours,\n aExtraMinutes, aExtraSeconds, aTime) {\n\n var minutesOverflow, hoursOverflow,\n daysOverflow = 0, yearsOverflow = 0;\n\n var second, minute, hour, day;\n var daysInMonth;\n\n var time = aTime || this._time;\n\n if (!time.isDate) {\n second = time.second + aExtraSeconds;\n time.second = second % 60;\n minutesOverflow = ICAL.helpers.trunc(second / 60);\n if (time.second < 0) {\n time.second += 60;\n minutesOverflow--;\n }\n\n minute = time.minute + aExtraMinutes + minutesOverflow;\n time.minute = minute % 60;\n hoursOverflow = ICAL.helpers.trunc(minute / 60);\n if (time.minute < 0) {\n time.minute += 60;\n hoursOverflow--;\n }\n\n hour = time.hour + aExtraHours + hoursOverflow;\n\n time.hour = hour % 24;\n daysOverflow = ICAL.helpers.trunc(hour / 24);\n if (time.hour < 0) {\n time.hour += 24;\n daysOverflow--;\n }\n }\n\n\n // Adjust month and year first, because we need to know what month the day\n // is in before adjusting it.\n if (time.month > 12) {\n yearsOverflow = ICAL.helpers.trunc((time.month - 1) / 12);\n } else if (time.month < 1) {\n yearsOverflow = ICAL.helpers.trunc(time.month / 12) - 1;\n }\n\n time.year += yearsOverflow;\n time.month -= 12 * yearsOverflow;\n\n // Now take care of the days (and adjust month if needed)\n day = time.day + aExtraDays + daysOverflow;\n\n if (day > 0) {\n for (;;) {\n daysInMonth = ICAL.Time.daysInMonth(time.month, time.year);\n if (day <= daysInMonth) {\n break;\n }\n\n time.month++;\n if (time.month > 12) {\n time.year++;\n time.month = 1;\n }\n\n day -= daysInMonth;\n }\n } else {\n while (day <= 0) {\n if (time.month == 1) {\n time.year--;\n time.month = 12;\n } else {\n time.month--;\n }\n\n day += ICAL.Time.daysInMonth(time.month, time.year);\n }\n }\n\n time.day = day;\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance from unix time, the number of seconds since\n * January 1st, 1970.\n *\n * @param {Number} seconds The seconds to set up with\n */\n fromUnixTime: function fromUnixTime(seconds) {\n this.zone = ICAL.Timezone.utcTimezone;\n var epoch = ICAL.Time.epochTime.clone();\n epoch.adjust(0, 0, 0, seconds);\n\n this.year = epoch.year;\n this.month = epoch.month;\n this.day = epoch.day;\n this.hour = epoch.hour;\n this.minute = epoch.minute;\n this.second = Math.floor(epoch.second);\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Converts the current instance to seconds since January 1st 1970.\n *\n * @return {Number} Seconds since 1970\n */\n toUnixTime: function toUnixTime() {\n if (this._cachedUnixTime !== null) {\n return this._cachedUnixTime;\n }\n var offset = this.utcOffset();\n\n // we use the offset trick to ensure\n // that we are getting the actual UTC time\n var ms = Date.UTC(\n this.year,\n this.month - 1,\n this.day,\n this.hour,\n this.minute,\n this.second - offset\n );\n\n // seconds\n this._cachedUnixTime = ms / 1000;\n return this._cachedUnixTime;\n },\n\n /**\n * Converts time to into Object which can be serialized then re-created\n * using the constructor.\n *\n * @example\n * // toJSON will automatically be called\n * var json = JSON.stringify(mytime);\n *\n * var deserialized = JSON.parse(json);\n *\n * var time = new ICAL.Time(deserialized);\n *\n * @return {Object}\n */\n toJSON: function() {\n var copy = [\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'isDate'\n ];\n\n var result = Object.create(null);\n\n var i = 0;\n var len = copy.length;\n var prop;\n\n for (; i < len; i++) {\n prop = copy[i];\n result[prop] = this[prop];\n }\n\n if (this.zone) {\n result.timezone = this.zone.tzid;\n }\n\n return result;\n }\n\n };\n\n (function setupNormalizeAttributes() {\n // This needs to run before any instances are created!\n function defineAttr(attr) {\n Object.defineProperty(ICAL.Time.prototype, attr, {\n get: function getTimeAttr() {\n if (this._pendingNormalization) {\n this._normalize();\n this._pendingNormalization = false;\n }\n\n return this._time[attr];\n },\n set: function setTimeAttr(val) {\n // Check if isDate will be set and if was not set to normalize date.\n // This avoids losing days when seconds, minutes and hours are zeroed\n // what normalize will do when time is a date.\n if (attr === \"isDate\" && val && !this._time.isDate) {\n this.adjust(0, 0, 0, 0);\n }\n this._cachedUnixTime = null;\n this._pendingNormalization = true;\n this._time[attr] = val;\n\n return val;\n }\n });\n\n }\n\n /* istanbul ignore else */\n if (\"defineProperty\" in Object) {\n defineAttr(\"year\");\n defineAttr(\"month\");\n defineAttr(\"day\");\n defineAttr(\"hour\");\n defineAttr(\"minute\");\n defineAttr(\"second\");\n defineAttr(\"isDate\");\n }\n })();\n\n /**\n * Returns the days in the given month\n *\n * @param {Number} month The month to check\n * @param {Number} year The year to check\n * @return {Number} The number of days in the month\n */\n ICAL.Time.daysInMonth = function icaltime_daysInMonth(month, year) {\n var _daysInMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var days = 30;\n\n if (month < 1 || month > 12) return days;\n\n days = _daysInMonth[month];\n\n if (month == 2) {\n days += ICAL.Time.isLeapYear(year);\n }\n\n return days;\n };\n\n /**\n * Checks if the year is a leap year\n *\n * @param {Number} year The year to check\n * @return {Boolean} True, if the year is a leap year\n */\n ICAL.Time.isLeapYear = function isLeapYear(year) {\n if (year <= 1752) {\n return ((year % 4) == 0);\n } else {\n return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));\n }\n };\n\n /**\n * Create a new ICAL.Time from the day of year and year. The date is returned\n * in floating timezone.\n *\n * @param {Number} aDayOfYear The day of year\n * @param {Number} aYear The year to create the instance in\n * @return {ICAL.Time} The created instance with the calculated date\n */\n ICAL.Time.fromDayOfYear = function icaltime_fromDayOfYear(aDayOfYear, aYear) {\n var year = aYear;\n var doy = aDayOfYear;\n var tt = new ICAL.Time();\n tt.auto_normalize = false;\n var is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n\n if (doy < 1) {\n year--;\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy += ICAL.Time.daysInYearPassedMonth[is_leap][12];\n return ICAL.Time.fromDayOfYear(doy, year);\n } else if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][12]) {\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy -= ICAL.Time.daysInYearPassedMonth[is_leap][12];\n year++;\n return ICAL.Time.fromDayOfYear(doy, year);\n }\n\n tt.year = year;\n tt.isDate = true;\n\n for (var month = 11; month >= 0; month--) {\n if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][month]) {\n tt.month = month + 1;\n tt.day = doy - ICAL.Time.daysInYearPassedMonth[is_leap][month];\n break;\n }\n }\n\n tt.auto_normalize = true;\n return tt;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @deprecated Use {@link ICAL.Time.fromDateString} instead\n * @param {String} str The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromStringv2 = function fromString(str) {\n return new ICAL.Time({\n year: parseInt(str.substr(0, 4), 10),\n month: parseInt(str.substr(5, 2), 10),\n day: parseInt(str.substr(8, 2), 10),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @param {String} aValue The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateString = function(aValue) {\n // Dates should have no timezone.\n // Google likes to sometimes specify Z on dates\n // we specifically ignore that to avoid issues.\n\n // YYYY-MM-DD\n // 2012-10-10\n return new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date-time string, e.g\n * 2015-01-02T03:04:05. If a property is specified, the timezone is set up\n * from the property's TZID parameter.\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateTimeString = function(aValue, prop) {\n if (aValue.length < 19) {\n throw new Error(\n 'invalid date-time value: \"' + aValue + '\"'\n );\n }\n\n var zone;\n\n if (aValue[19] && aValue[19] === 'Z') {\n zone = 'Z';\n } else if (prop) {\n zone = prop.getParameter('tzid');\n }\n\n // 2012-10-10T10:10:10(Z)?\n var time = new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n hour: ICAL.helpers.strictParseInt(aValue.substr(11, 2)),\n minute: ICAL.helpers.strictParseInt(aValue.substr(14, 2)),\n second: ICAL.helpers.strictParseInt(aValue.substr(17, 2)),\n timezone: zone\n });\n\n return time;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date or date-time string,\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromString = function fromString(aValue, aProperty) {\n if (aValue.length > 10) {\n return ICAL.Time.fromDateTimeString(aValue, aProperty);\n } else {\n return ICAL.Time.fromDateString(aValue);\n }\n };\n\n /**\n * Creates a new ICAL.Time instance from the given Javascript Date.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n ICAL.Time.fromJSDate = function fromJSDate(aDate, useUTC) {\n var tt = new ICAL.Time();\n return tt.fromJSDate(aDate, useUTC);\n };\n\n /**\n * Creates a new ICAL.Time instance from the the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n ICAL.Time.fromData = function fromData(aData, aZone) {\n var t = new ICAL.Time();\n return t.fromData(aData, aZone);\n };\n\n /**\n * Creates a new ICAL.Time instance from the current moment.\n * @return {ICAL.Time}\n */\n ICAL.Time.now = function icaltime_now() {\n return ICAL.Time.fromJSDate(new Date(), false);\n };\n\n /**\n * Returns the date on which ISO week number 1 starts.\n *\n * @see ICAL.Time#weekNumber\n * @param {Number} aYear The year to search in\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday, used for calculation.\n * @return {ICAL.Time} The date on which week number 1 starts\n */\n ICAL.Time.weekOneStarts = function weekOneStarts(aYear, aWeekStart) {\n var t = ICAL.Time.fromData({\n year: aYear,\n month: 1,\n day: 1,\n isDate: true\n });\n\n var dow = t.dayOfWeek();\n var wkst = aWeekStart || ICAL.Time.DEFAULT_WEEK_START;\n if (dow > ICAL.Time.THURSDAY) {\n t.day += 7;\n }\n if (wkst > ICAL.Time.THURSDAY) {\n t.day -= 7;\n }\n\n t.day -= dow - wkst;\n\n return t;\n };\n\n /**\n * Get the dominical letter for the given year. Letters range from A - G for\n * common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n ICAL.Time.getDominicalLetter = function(yr) {\n var LTRS = \"GFEDCBA\";\n var dom = (yr + (yr / 4 | 0) + (yr / 400 | 0) - (yr / 100 | 0) - 1) % 7;\n var isLeap = ICAL.Time.isLeapYear(yr);\n if (isLeap) {\n return LTRS[(dom + 6) % 7] + LTRS[dom];\n } else {\n return LTRS[dom];\n }\n };\n\n /**\n * January 1st, 1970 as an ICAL.Time.\n * @type {ICAL.Time}\n * @constant\n * @instance\n */\n ICAL.Time.epochTime = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n isDate: false,\n timezone: \"Z\"\n });\n\n ICAL.Time._cmp_attr = function _cmp_attr(a, b, attr) {\n if (a[attr] > b[attr]) return 1;\n if (a[attr] < b[attr]) return -1;\n return 0;\n };\n\n /**\n * The days that have passed in the year after a given month. The array has\n * two members, one being an array of passed days for non-leap years, the\n * other analog for leap years.\n * @example\n * var isLeapYear = ICAL.Time.isLeapYear(year);\n * var passedDays = ICAL.Time.daysInYearPassedMonth[isLeapYear][month];\n * @type {Array.<Array.<Number>>}\n */\n ICAL.Time.daysInYearPassedMonth = [\n [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],\n [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]\n ];\n\n /**\n * The weekday, 1 = SUNDAY, 7 = SATURDAY. Access via\n * ICAL.Time.MONDAY, ICAL.Time.TUESDAY, ...\n *\n * @typedef {Number} weekDay\n * @memberof ICAL.Time\n */\n\n ICAL.Time.SUNDAY = 1;\n ICAL.Time.MONDAY = 2;\n ICAL.Time.TUESDAY = 3;\n ICAL.Time.WEDNESDAY = 4;\n ICAL.Time.THURSDAY = 5;\n ICAL.Time.FRIDAY = 6;\n ICAL.Time.SATURDAY = 7;\n\n /**\n * The default weekday for the WKST part.\n * @constant\n * @default ICAL.Time.MONDAY\n */\n ICAL.Time.DEFAULT_WEEK_START = ICAL.Time.MONDAY;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2015 */\n\n\n\n(function() {\n\n /**\n * Describes a vCard time, which has slight differences to the ICAL.Time.\n * Properties can be null if not specified, for example for dates with\n * reduced accuracy or truncation.\n *\n * Note that currently not all methods are correctly re-implemented for\n * VCardTime. For example, comparison will have undefined results when some\n * members are null.\n *\n * Also, normalization is not yet implemented for this class!\n *\n * @alias ICAL.VCardTime\n * @class\n * @extends {ICAL.Time}\n * @param {Object} data The data for the time instance\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {ICAL.Timezone|ICAL.UtcOffset} zone The timezone to use\n * @param {String} icaltype The type for this date/time object\n */\n ICAL.VCardTime = function(data, zone, icaltype) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n time.year = null;\n time.month = null;\n time.day = null;\n time.hour = null;\n time.minute = null;\n time.second = null;\n\n this.icaltype = icaltype || \"date-and-or-time\";\n\n this.fromData(data, zone);\n };\n ICAL.helpers.inherits(ICAL.Time, ICAL.VCardTime, /** @lends ICAL.VCardTime */ {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"vcardtime\"\n */\n icalclass: \"vcardtime\",\n\n /**\n * The type name, to be used in the jCal object.\n * @type {String}\n * @default \"date-and-or-time\"\n */\n icaltype: \"date-and-or-time\",\n\n /**\n * The timezone. This can either be floating, UTC, or an instance of\n * ICAL.UtcOffset.\n * @type {ICAL.Timezone|ICAL.UtcOFfset}\n */\n zone: null,\n\n /**\n * Returns a clone of the vcard date/time object.\n *\n * @return {ICAL.VCardTime} The cloned object\n */\n clone: function() {\n return new ICAL.VCardTime(this._time, this.zone, this.icaltype);\n },\n\n _normalize: function() {\n return this;\n },\n\n /**\n * @inheritdoc\n */\n utcOffset: function() {\n if (this.zone instanceof ICAL.UtcOffset) {\n return this.zone.toSeconds();\n } else {\n return ICAL.Time.prototype.utcOffset.apply(this, arguments);\n }\n },\n\n /**\n * Returns an RFC 6350 compliant representation of this object.\n *\n * @return {String} vcard date/time string\n */\n toICALString: function() {\n return ICAL.design.vcard.value[this.icaltype].toICAL(this.toString());\n },\n\n /**\n * The string representation of this date/time, in jCard form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var p2 = ICAL.helpers.pad2;\n var y = this.year, m = this.month, d = this.day;\n var h = this.hour, mm = this.minute, s = this.second;\n\n var hasYear = y !== null, hasMonth = m !== null, hasDay = d !== null;\n var hasHour = h !== null, hasMinute = mm !== null, hasSecond = s !== null;\n\n var datepart = (hasYear ? p2(y) + (hasMonth || hasDay ? '-' : '') : (hasMonth || hasDay ? '--' : '')) +\n (hasMonth ? p2(m) : '') +\n (hasDay ? '-' + p2(d) : '');\n var timepart = (hasHour ? p2(h) : '-') + (hasHour && hasMinute ? ':' : '') +\n (hasMinute ? p2(mm) : '') + (!hasHour && !hasMinute ? '-' : '') +\n (hasMinute && hasSecond ? ':' : '') +\n (hasSecond ? p2(s) : '');\n\n var zone;\n if (this.zone === ICAL.Timezone.utcTimezone) {\n zone = 'Z';\n } else if (this.zone instanceof ICAL.UtcOffset) {\n zone = this.zone.toString();\n } else if (this.zone === ICAL.Timezone.localTimezone) {\n zone = '';\n } else if (this.zone instanceof ICAL.Timezone) {\n var offset = ICAL.UtcOffset.fromSeconds(this.zone.utcOffset(this));\n zone = offset.toString();\n } else {\n zone = '';\n }\n\n switch (this.icaltype) {\n case \"time\":\n return timepart + zone;\n case \"date-and-or-time\":\n case \"date-time\":\n return datepart + (timepart == '--' ? '' : 'T' + timepart + zone);\n case \"date\":\n return datepart;\n }\n return null;\n }\n });\n\n /**\n * Returns a new ICAL.VCardTime instance from a date and/or time string.\n *\n * @param {String} aValue The string to create from\n * @param {String} aIcalType The type for this instance, e.g. date-and-or-time\n * @return {ICAL.VCardTime} The date/time instance\n */\n ICAL.VCardTime.fromDateAndOrTimeString = function(aValue, aIcalType) {\n function part(v, s, e) {\n return v ? ICAL.helpers.strictParseInt(v.substr(s, e)) : null;\n }\n var parts = aValue.split('T');\n var dt = parts[0], tmz = parts[1];\n var splitzone = tmz ? ICAL.design.vcard.value.time._splitZone(tmz) : [];\n var zone = splitzone[0], tm = splitzone[1];\n\n var stoi = ICAL.helpers.strictParseInt;\n var dtlen = dt ? dt.length : 0;\n var tmlen = tm ? tm.length : 0;\n\n var hasDashDate = dt && dt[0] == '-' && dt[1] == '-';\n var hasDashTime = tm && tm[0] == '-';\n\n var o = {\n year: hasDashDate ? null : part(dt, 0, 4),\n month: hasDashDate && (dtlen == 4 || dtlen == 7) ? part(dt, 2, 2) : dtlen == 7 ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 5, 2) : null,\n day: dtlen == 5 ? part(dt, 3, 2) : dtlen == 7 && hasDashDate ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 8, 2) : null,\n\n hour: hasDashTime ? null : part(tm, 0, 2),\n minute: hasDashTime && tmlen == 3 ? part(tm, 1, 2) : tmlen > 4 ? hasDashTime ? part(tm, 1, 2) : part(tm, 3, 2) : null,\n second: tmlen == 4 ? part(tm, 2, 2) : tmlen == 6 ? part(tm, 4, 2) : tmlen == 8 ? part(tm, 6, 2) : null\n };\n\n if (zone == 'Z') {\n zone = ICAL.Timezone.utcTimezone;\n } else if (zone && zone[3] == ':') {\n zone = ICAL.UtcOffset.fromString(zone);\n } else {\n zone = null;\n }\n\n return new ICAL.VCardTime(o, zone, aIcalType);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DOW_MAP = {\n SU: ICAL.Time.SUNDAY,\n MO: ICAL.Time.MONDAY,\n TU: ICAL.Time.TUESDAY,\n WE: ICAL.Time.WEDNESDAY,\n TH: ICAL.Time.THURSDAY,\n FR: ICAL.Time.FRIDAY,\n SA: ICAL.Time.SATURDAY\n };\n\n var REVERSE_DOW_MAP = {};\n for (var key in DOW_MAP) {\n /* istanbul ignore else */\n if (DOW_MAP.hasOwnProperty(key)) {\n REVERSE_DOW_MAP[DOW_MAP[key]] = key;\n }\n }\n\n var COPY_PARTS = [\"BYSECOND\", \"BYMINUTE\", \"BYHOUR\", \"BYDAY\",\n \"BYMONTHDAY\", \"BYYEARDAY\", \"BYWEEKNO\",\n \"BYMONTH\", \"BYSETPOS\"];\n\n /**\n * @classdesc\n * This class represents the \"recur\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Recur\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur = function icalrecur(data) {\n this.wrappedJSObject = this;\n this.parts = {};\n\n if (data && typeof(data) === 'object') {\n this.fromData(data);\n }\n };\n\n ICAL.Recur.prototype = {\n /**\n * An object holding the BY-parts of the recurrence rule\n * @type {Object}\n */\n parts: null,\n\n /**\n * The interval value for the recurrence rule.\n * @type {Number}\n */\n interval: 1,\n\n /**\n * The week start day\n *\n * @type {ICAL.Time.weekDay}\n * @default ICAL.Time.MONDAY\n */\n wkst: ICAL.Time.MONDAY,\n\n /**\n * The end of the recurrence\n * @type {?ICAL.Time}\n */\n until: null,\n\n /**\n * The maximum number of occurrences\n * @type {?Number}\n */\n count: null,\n\n /**\n * The frequency value.\n * @type {ICAL.Recur.frequencyValues}\n */\n freq: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalrecur\"\n */\n icalclass: \"icalrecur\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"recur\"\n */\n icaltype: \"recur\",\n\n /**\n * Create a new iterator for this recurrence rule. The passed start date\n * must be the start date of the event, not the start of the range to\n * search in.\n *\n * @example\n * var recur = comp.getFirstPropertyValue('rrule');\n * var dtstart = comp.getFirstPropertyValue('dtstart');\n * var iter = recur.iterator(dtstart);\n * for (var next = iter.next(); next; next = iter.next()) {\n * if (next.compare(rangeStart) < 0) {\n * continue;\n * }\n * console.log(next.toString());\n * }\n *\n * @param {ICAL.Time} aStart The item's start date\n * @return {ICAL.RecurIterator} The recurrence iterator\n */\n iterator: function(aStart) {\n return new ICAL.RecurIterator({\n rule: this,\n dtstart: aStart\n });\n },\n\n /**\n * Returns a clone of the recurrence object.\n *\n * @return {ICAL.Recur} The cloned object\n */\n clone: function clone() {\n return new ICAL.Recur(this.toJSON());\n },\n\n /**\n * Checks if the current rule is finite, i.e. has a count or until part.\n *\n * @return {Boolean} True, if the rule is finite\n */\n isFinite: function isfinite() {\n return !!(this.count || this.until);\n },\n\n /**\n * Checks if the current rule has a count part, and not limited by an until\n * part.\n *\n * @return {Boolean} True, if the rule is by count\n */\n isByCount: function isbycount() {\n return !!(this.count && !this.until);\n },\n\n /**\n * Adds a component (part) to the recurrence rule. This is not a component\n * in the sense of {@link ICAL.Component}, but a part of the recurrence\n * rule, i.e. BYMONTH.\n *\n * @param {String} aType The name of the component part\n * @param {Array|String} aValue The component value\n */\n addComponent: function addPart(aType, aValue) {\n var ucname = aType.toUpperCase();\n if (ucname in this.parts) {\n this.parts[ucname].push(aValue);\n } else {\n this.parts[ucname] = [aValue];\n }\n },\n\n /**\n * Sets the component value for the given by-part.\n *\n * @param {String} aType The component part name\n * @param {Array} aValues The component values\n */\n setComponent: function setComponent(aType, aValues) {\n this.parts[aType.toUpperCase()] = aValues.slice();\n },\n\n /**\n * Gets (a copy) of the requested component value.\n *\n * @param {String} aType The component part name\n * @return {Array} The component part value\n */\n getComponent: function getComponent(aType) {\n var ucname = aType.toUpperCase();\n return (ucname in this.parts ? this.parts[ucname].slice() : []);\n },\n\n /**\n * Retrieves the next occurrence after the given recurrence id. See the\n * guide on {@tutorial terminology} for more details.\n *\n * NOTE: Currently, this method iterates all occurrences from the start\n * date. It should not be called in a loop for performance reasons. If you\n * would like to get more than one occurrence, you can iterate the\n * occurrences manually, see the example on the\n * {@link ICAL.Recur#iterator iterator} method.\n *\n * @param {ICAL.Time} aStartTime The start of the event series\n * @param {ICAL.Time} aRecurrenceId The date of the last occurrence\n * @return {ICAL.Time} The next occurrence after\n */\n getNextOccurrence: function getNextOccurrence(aStartTime, aRecurrenceId) {\n var iter = this.iterator(aStartTime);\n var next, cdt;\n\n do {\n next = iter.next();\n } while (next && next.compare(aRecurrenceId) <= 0);\n\n if (next && aRecurrenceId.zone) {\n next.zone = aRecurrenceId.zone;\n }\n\n return next;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n fromData: function(data) {\n for (var key in data) {\n var uckey = key.toUpperCase();\n\n if (uckey in partDesign) {\n if (Array.isArray(data[key])) {\n this.parts[uckey] = data[key];\n } else {\n this.parts[uckey] = [data[key]];\n }\n } else {\n this[key] = data[key];\n }\n }\n\n if (this.interval && typeof this.interval != \"number\") {\n optionDesign.INTERVAL(this.interval, this);\n }\n\n if (this.wkst && typeof this.wkst != \"number\") {\n this.wkst = ICAL.Recur.icalDayToNumericDay(this.wkst);\n }\n\n if (this.until && !(this.until instanceof ICAL.Time)) {\n this.until = ICAL.Time.fromString(this.until);\n }\n },\n\n /**\n * The jCal representation of this recurrence type.\n * @return {Object}\n */\n toJSON: function() {\n var res = Object.create(null);\n res.freq = this.freq;\n\n if (this.count) {\n res.count = this.count;\n }\n\n if (this.interval > 1) {\n res.interval = this.interval;\n }\n\n for (var k in this.parts) {\n /* istanbul ignore if */\n if (!this.parts.hasOwnProperty(k)) {\n continue;\n }\n var kparts = this.parts[k];\n if (Array.isArray(kparts) && kparts.length == 1) {\n res[k.toLowerCase()] = kparts[0];\n } else {\n res[k.toLowerCase()] = ICAL.helpers.clone(this.parts[k]);\n }\n }\n\n if (this.until) {\n res.until = this.until.toString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n res.wkst = ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return res;\n },\n\n /**\n * The string representation of this recurrence rule.\n * @return {String}\n */\n toString: function icalrecur_toString() {\n // TODO retain order\n var str = \"FREQ=\" + this.freq;\n if (this.count) {\n str += \";COUNT=\" + this.count;\n }\n if (this.interval > 1) {\n str += \";INTERVAL=\" + this.interval;\n }\n for (var k in this.parts) {\n /* istanbul ignore else */\n if (this.parts.hasOwnProperty(k)) {\n str += \";\" + k + \"=\" + this.parts[k];\n }\n }\n if (this.until) {\n str += ';UNTIL=' + this.until.toICALString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n str += ';WKST=' + ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return str;\n }\n };\n\n function parseNumericValue(type, min, max, value) {\n var result = value;\n\n if (value[0] === '+') {\n result = value.substr(1);\n }\n\n result = ICAL.helpers.strictParseInt(result);\n\n if (min !== undefined && value < min) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be > ' + min\n );\n }\n\n if (max !== undefined && value > max) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be < ' + min\n );\n }\n\n return result;\n }\n\n /**\n * Convert an ical representation of a day (SU, MO, etc..)\n * into a numeric value of that day.\n *\n * @param {String} string The iCalendar day name\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Number} Numeric value of given day\n */\n ICAL.Recur.icalDayToNumericDay = function toNumericDay(string, aWeekStart) {\n //XXX: this is here so we can deal\n // with possibly invalid string values.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n return ((DOW_MAP[string] - firstDow + 7) % 7) + 1;\n };\n\n /**\n * Convert a numeric day value into its ical representation (SU, MO, etc..)\n *\n * @param {Number} num Numeric value of given day\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {String} The ICAL day value, e.g SU,MO,...\n */\n ICAL.Recur.numericDayToIcalDay = function toIcalDay(num, aWeekStart) {\n //XXX: this is here so we can deal with possibly invalid number values.\n // Also, this allows consistent mapping between day numbers and day\n // names for external users.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dow = (num + firstDow - ICAL.Time.SUNDAY);\n if (dow > 7) {\n dow -= 7;\n }\n return REVERSE_DOW_MAP[dow];\n };\n\n var VALID_DAY_NAMES = /^(SU|MO|TU|WE|TH|FR|SA)$/;\n var VALID_BYDAY_PART = /^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/;\n\n /**\n * Possible frequency values for the FREQ part\n * (YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY)\n *\n * @typedef {String} frequencyValues\n * @memberof ICAL.Recur\n */\n\n var ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY',\n 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n\n var optionDesign = {\n FREQ: function(value, dict, fmtIcal) {\n // yes this is actually equal or faster then regex.\n // upside here is we can enumerate the valid values.\n if (ALLOWED_FREQ.indexOf(value) !== -1) {\n dict.freq = value;\n } else {\n throw new Error(\n 'invalid frequency \"' + value + '\" expected: \"' +\n ALLOWED_FREQ.join(', ') + '\"'\n );\n }\n },\n\n COUNT: function(value, dict, fmtIcal) {\n dict.count = ICAL.helpers.strictParseInt(value);\n },\n\n INTERVAL: function(value, dict, fmtIcal) {\n dict.interval = ICAL.helpers.strictParseInt(value);\n if (dict.interval < 1) {\n // 0 or negative values are not allowed, some engines seem to generate\n // it though. Assume 1 instead.\n dict.interval = 1;\n }\n },\n\n UNTIL: function(value, dict, fmtIcal) {\n if (value.length > 10) {\n dict.until = ICAL.design.icalendar.value['date-time'].fromICAL(value);\n } else {\n dict.until = ICAL.design.icalendar.value.date.fromICAL(value);\n }\n if (!fmtIcal) {\n dict.until = ICAL.Time.fromString(dict.until);\n }\n },\n\n WKST: function(value, dict, fmtIcal) {\n if (VALID_DAY_NAMES.test(value)) {\n dict.wkst = ICAL.Recur.icalDayToNumericDay(value);\n } else {\n throw new Error('invalid WKST value \"' + value + '\"');\n }\n }\n };\n\n var partDesign = {\n BYSECOND: parseNumericValue.bind(this, 'BYSECOND', 0, 60),\n BYMINUTE: parseNumericValue.bind(this, 'BYMINUTE', 0, 59),\n BYHOUR: parseNumericValue.bind(this, 'BYHOUR', 0, 23),\n BYDAY: function(value) {\n if (VALID_BYDAY_PART.test(value)) {\n return value;\n } else {\n throw new Error('invalid BYDAY value \"' + value + '\"');\n }\n },\n BYMONTHDAY: parseNumericValue.bind(this, 'BYMONTHDAY', -31, 31),\n BYYEARDAY: parseNumericValue.bind(this, 'BYYEARDAY', -366, 366),\n BYWEEKNO: parseNumericValue.bind(this, 'BYWEEKNO', -53, 53),\n BYMONTH: parseNumericValue.bind(this, 'BYMONTH', 0, 12),\n BYSETPOS: parseNumericValue.bind(this, 'BYSETPOS', -366, 366)\n };\n\n\n /**\n * Creates a new {@link ICAL.Recur} instance from the passed string.\n *\n * @param {String} string The string to parse\n * @return {ICAL.Recur} The created recurrence instance\n */\n ICAL.Recur.fromString = function(string) {\n var data = ICAL.Recur._stringToData(string, false);\n return new ICAL.Recur(data);\n };\n\n /**\n * Creates a new {@link ICAL.Recur} instance using members from the passed\n * data object.\n *\n * @param {Object} aData An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} aData.freq The frequency value\n * @param {Number=} aData.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} aData.wkst The week start value\n * @param {ICAL.Time=} aData.until The end of the recurrence set\n * @param {Number=} aData.count The number of occurrences\n * @param {Array.<Number>=} aData.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} aData.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} aData.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} aData.byday The BYDAY values\n * @param {Array.<Number>=} aData.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} aData.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} aData.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} aData.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} aData.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur.fromData = function(aData) {\n return new ICAL.Recur(aData);\n };\n\n /**\n * Converts a recurrence string to a data object, suitable for the fromData\n * method.\n *\n * @param {String} string The string to parse\n * @param {Boolean} fmtIcal If true, the string is considered to be an\n * iCalendar string\n * @return {ICAL.Recur} The recurrence instance\n */\n ICAL.Recur._stringToData = function(string, fmtIcal) {\n var dict = Object.create(null);\n\n // split is slower in FF but fast enough.\n // v8 however this is faster then manual split?\n var values = string.split(';');\n var len = values.length;\n\n for (var i = 0; i < len; i++) {\n var parts = values[i].split('=');\n var ucname = parts[0].toUpperCase();\n var lcname = parts[0].toLowerCase();\n var name = (fmtIcal ? lcname : ucname);\n var value = parts[1];\n\n if (ucname in partDesign) {\n var partArr = value.split(',');\n var partArrIdx = 0;\n var partArrLen = partArr.length;\n\n for (; partArrIdx < partArrLen; partArrIdx++) {\n partArr[partArrIdx] = partDesign[ucname](partArr[partArrIdx]);\n }\n dict[name] = (partArr.length == 1 ? partArr[0] : partArr);\n } else if (ucname in optionDesign) {\n optionDesign[ucname](value, dict, fmtIcal);\n } else {\n // Don't swallow unknown values. Just set them as they are.\n dict[lcname] = value;\n }\n }\n\n return dict;\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurIterator = (function() {\n\n /**\n * @classdesc\n * An iterator for a single recurrence rule. This class usually doesn't have\n * to be instanciated directly, the convenience method\n * {@link ICAL.Recur#iterator} can be used.\n *\n * @description\n * The options object may contain additional members when resuming iteration from a previous run\n *\n * @description\n * The options object may contain additional members when resuming iteration\n * from a previous run.\n *\n * @class\n * @alias ICAL.RecurIterator\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n function icalrecur_iterator(options) {\n this.fromData(options);\n }\n\n icalrecur_iterator.prototype = {\n\n /**\n * True when iteration is finished.\n * @type {Boolean}\n */\n completed: false,\n\n /**\n * The rule that is being iterated\n * @type {ICAL.Recur}\n */\n rule: null,\n\n /**\n * The start date of the event being iterated.\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * The last occurrence that was returned from the\n * {@link ICAL.RecurIterator#next} method.\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * The sequence number from the occurrence\n * @type {Number}\n */\n occurrence_number: 0,\n\n /**\n * The indices used for the {@link ICAL.RecurIterator#by_data} object.\n * @type {Object}\n * @private\n */\n by_indices: null,\n\n /**\n * If true, the iterator has already been initialized\n * @type {Boolean}\n * @private\n */\n initialized: false,\n\n /**\n * The initializd by-data.\n * @type {Object}\n * @private\n */\n by_data: null,\n\n /**\n * The expanded yeardays\n * @type {Array}\n * @private\n */\n days: null,\n\n /**\n * The index in the {@link ICAL.RecurIterator#days} array.\n * @type {Number}\n * @private\n */\n days_index: 0,\n\n /**\n * Initialize the recurrence iterator from the passed data object. This\n * method is usually not called directly, you can initialize the iterator\n * through the constructor.\n *\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n fromData: function(options) {\n this.rule = ICAL.helpers.formatClassType(options.rule, ICAL.Recur);\n\n if (!this.rule) {\n throw new Error('iterator requires a (ICAL.Recur) rule');\n }\n\n this.dtstart = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!this.dtstart) {\n throw new Error('iterator requires a (ICAL.Time) dtstart');\n }\n\n if (options.by_data) {\n this.by_data = options.by_data;\n } else {\n this.by_data = ICAL.helpers.clone(this.rule.parts, true);\n }\n\n if (options.occurrence_number)\n this.occurrence_number = options.occurrence_number;\n\n this.days = options.days || [];\n if (options.last) {\n this.last = ICAL.helpers.formatClassType(options.last, ICAL.Time);\n }\n\n this.by_indices = options.by_indices;\n\n if (!this.by_indices) {\n this.by_indices = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 0,\n \"BYHOUR\": 0,\n \"BYDAY\": 0,\n \"BYMONTH\": 0,\n \"BYWEEKNO\": 0,\n \"BYMONTHDAY\": 0\n };\n }\n\n this.initialized = options.initialized || false;\n\n if (!this.initialized) {\n this.init();\n }\n },\n\n /**\n * Intialize the iterator\n * @private\n */\n init: function icalrecur_iterator_init() {\n this.initialized = true;\n this.last = this.dtstart.clone();\n var parts = this.by_data;\n\n if (\"BYDAY\" in parts) {\n // libical does this earlier when the rule is loaded, but we postpone to\n // now so we can preserve the original order.\n this.sort_byday_rules(parts.BYDAY);\n }\n\n // If the BYYEARDAY appares, no other date rule part may appear\n if (\"BYYEARDAY\" in parts) {\n if (\"BYMONTH\" in parts || \"BYWEEKNO\" in parts ||\n \"BYMONTHDAY\" in parts || \"BYDAY\" in parts) {\n throw new Error(\"Invalid BYYEARDAY rule\");\n }\n }\n\n // BYWEEKNO and BYMONTHDAY rule parts may not both appear\n if (\"BYWEEKNO\" in parts && \"BYMONTHDAY\" in parts) {\n throw new Error(\"BYWEEKNO does not fit to BYMONTHDAY\");\n }\n\n // For MONTHLY recurrences (FREQ=MONTHLY) neither BYYEARDAY nor\n // BYWEEKNO may appear.\n if (this.rule.freq == \"MONTHLY\" &&\n (\"BYYEARDAY\" in parts || \"BYWEEKNO\" in parts)) {\n throw new Error(\"For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear\");\n }\n\n // For WEEKLY recurrences (FREQ=WEEKLY) neither BYMONTHDAY nor\n // BYYEARDAY may appear.\n if (this.rule.freq == \"WEEKLY\" &&\n (\"BYYEARDAY\" in parts || \"BYMONTHDAY\" in parts)) {\n throw new Error(\"For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear\");\n }\n\n // BYYEARDAY may only appear in YEARLY rules\n if (this.rule.freq != \"YEARLY\" && \"BYYEARDAY\" in parts) {\n throw new Error(\"BYYEARDAY may only appear in YEARLY rules\");\n }\n\n this.last.second = this.setup_defaults(\"BYSECOND\", \"SECONDLY\", this.dtstart.second);\n this.last.minute = this.setup_defaults(\"BYMINUTE\", \"MINUTELY\", this.dtstart.minute);\n this.last.hour = this.setup_defaults(\"BYHOUR\", \"HOURLY\", this.dtstart.hour);\n this.last.day = this.setup_defaults(\"BYMONTHDAY\", \"DAILY\", this.dtstart.day);\n this.last.month = this.setup_defaults(\"BYMONTH\", \"MONTHLY\", this.dtstart.month);\n\n if (this.rule.freq == \"WEEKLY\") {\n if (\"BYDAY\" in parts) {\n var bydayParts = this.ruleDayOfWeek(parts.BYDAY[0], this.rule.wkst);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var wkdy = dow - this.last.dayOfWeek(this.rule.wkst);\n if ((this.last.dayOfWeek(this.rule.wkst) < dow && wkdy >= 0) || wkdy < 0) {\n // Initial time is after first day of BYDAY data\n this.last.day += wkdy;\n }\n } else {\n var dayName = ICAL.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());\n parts.BYDAY = [dayName];\n }\n }\n\n if (this.rule.freq == \"YEARLY\") {\n for (;;) {\n this.expand_year_days(this.last.year);\n if (this.days.length > 0) {\n break;\n }\n this.increment_year(this.rule.interval);\n }\n\n this._nextByYearDay();\n }\n\n if (this.rule.freq == \"MONTHLY\" && this.has_by_data(\"BYDAY\")) {\n var tempLast = null;\n var initLast = this.last.clone();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n\n // Check every weekday in BYDAY with relative dow and pos.\n for (var i in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(i)) {\n continue;\n }\n this.last = initLast.clone();\n var bydayParts = this.ruleDayOfWeek(this.by_data.BYDAY[i]);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var dayOfMonth = this.last.nthWeekDay(dow, pos);\n\n // If |pos| >= 6, the byday is invalid for a monthly rule.\n if (pos >= 6 || pos <= -6) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n // If a Byday with pos=+/-5 is not in the current month it\n // must be searched in the next months.\n if (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n // Skip if we have already found a \"last\" in this month.\n if (tempLast && tempLast.month == initLast.month) {\n continue;\n }\n while (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n this.increment_month();\n daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n dayOfMonth = this.last.nthWeekDay(dow, pos);\n }\n }\n\n this.last.day = dayOfMonth;\n if (!tempLast || this.last.compare(tempLast) < 0) {\n tempLast = this.last.clone();\n }\n }\n this.last = tempLast.clone();\n\n //XXX: This feels like a hack, but we need to initialize\n // the BYMONTHDAY case correctly and byDayAndMonthDay handles\n // this case. It accepts a special flag which will avoid incrementing\n // the initial value without the flag days that match the start time\n // would be missed.\n if (this.has_by_data('BYMONTHDAY')) {\n this._byDayAndMonthDay(true);\n }\n\n if (this.last.day > daysInMonth || this.last.day == 0) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n if (this.last.day < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day = daysInMonth + this.last.day + 1;\n }\n }\n\n },\n\n /**\n * Retrieve the next occurrence from the iterator.\n * @return {ICAL.Time}\n */\n next: function icalrecur_iterator_next() {\n var before = (this.last ? this.last.clone() : null);\n\n if ((this.rule.count && this.occurrence_number >= this.rule.count) ||\n (this.rule.until && this.last.compare(this.rule.until) > 0)) {\n\n //XXX: right now this is just a flag and has no impact\n // we can simplify the above case to check for completed later.\n this.completed = true;\n\n return null;\n }\n\n if (this.occurrence_number == 0 && this.last.compare(this.dtstart) >= 0) {\n // First of all, give the instance that was initialized\n this.occurrence_number++;\n return this.last;\n }\n\n\n var valid;\n do {\n valid = 1;\n\n switch (this.rule.freq) {\n case \"SECONDLY\":\n this.next_second();\n break;\n case \"MINUTELY\":\n this.next_minute();\n break;\n case \"HOURLY\":\n this.next_hour();\n break;\n case \"DAILY\":\n this.next_day();\n break;\n case \"WEEKLY\":\n this.next_week();\n break;\n case \"MONTHLY\":\n valid = this.next_month();\n break;\n case \"YEARLY\":\n this.next_year();\n break;\n\n default:\n return null;\n }\n } while (!this.check_contracting_rules() ||\n this.last.compare(this.dtstart) < 0 ||\n !valid);\n\n // TODO is this valid?\n if (this.last.compare(before) == 0) {\n throw new Error(\"Same occurrence found twice, protecting \" +\n \"you from death by recursion\");\n }\n\n if (this.rule.until && this.last.compare(this.rule.until) > 0) {\n this.completed = true;\n return null;\n } else {\n this.occurrence_number++;\n return this.last;\n }\n },\n\n next_second: function next_second() {\n return this.next_generic(\"BYSECOND\", \"SECONDLY\", \"second\", \"minute\");\n },\n\n increment_second: function increment_second(inc) {\n return this.increment_generic(inc, \"second\", 60, \"minute\");\n },\n\n next_minute: function next_minute() {\n return this.next_generic(\"BYMINUTE\", \"MINUTELY\",\n \"minute\", \"hour\", \"next_second\");\n },\n\n increment_minute: function increment_minute(inc) {\n return this.increment_generic(inc, \"minute\", 60, \"hour\");\n },\n\n next_hour: function next_hour() {\n return this.next_generic(\"BYHOUR\", \"HOURLY\", \"hour\",\n \"monthday\", \"next_minute\");\n },\n\n increment_hour: function increment_hour(inc) {\n this.increment_generic(inc, \"hour\", 24, \"monthday\");\n },\n\n next_day: function next_day() {\n var has_by_day = (\"BYDAY\" in this.by_data);\n var this_freq = (this.rule.freq == \"DAILY\");\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (this_freq) {\n this.increment_monthday(this.rule.interval);\n } else {\n this.increment_monthday(1);\n }\n\n return 0;\n },\n\n next_week: function next_week() {\n var end_of_data = 0;\n\n if (this.next_weekday_by_week() == 0) {\n return end_of_data;\n }\n\n if (this.has_by_data(\"BYWEEKNO\")) {\n var idx = ++this.by_indices.BYWEEKNO;\n\n if (this.by_indices.BYWEEKNO == this.by_data.BYWEEKNO.length) {\n this.by_indices.BYWEEKNO = 0;\n end_of_data = 1;\n }\n\n // HACK should be first month of the year\n this.last.month = 1;\n this.last.day = 1;\n\n var week_no = this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];\n\n this.last.day += 7 * week_no;\n\n if (end_of_data) {\n this.increment_year(1);\n }\n } else {\n // Jump to the next week\n this.increment_monthday(7 * this.rule.interval);\n }\n\n return end_of_data;\n },\n\n /**\n * Normalize each by day rule for a given year/month.\n * Takes into account ordering and negative rules\n *\n * @private\n * @param {Number} year Current year.\n * @param {Number} month Current month.\n * @param {Array} rules Array of rules.\n *\n * @return {Array} sorted and normalized rules.\n * Negative rules will be expanded to their\n * correct positive values for easier processing.\n */\n normalizeByMonthDayRules: function(year, month, rules) {\n var daysInMonth = ICAL.Time.daysInMonth(month, year);\n\n // XXX: This is probably bad for performance to allocate\n // a new array for each month we scan, if possible\n // we should try to optimize this...\n var newRules = [];\n\n var ruleIdx = 0;\n var len = rules.length;\n var rule;\n\n for (; ruleIdx < len; ruleIdx++) {\n rule = rules[ruleIdx];\n\n // if this rule falls outside of given\n // month discard it.\n if (Math.abs(rule) > daysInMonth) {\n continue;\n }\n\n // negative case\n if (rule < 0) {\n // we add (not subtract its a negative number)\n // one from the rule because 1 === last day of month\n rule = daysInMonth + (rule + 1);\n } else if (rule === 0) {\n // skip zero its invalid.\n continue;\n }\n\n // only add unique items...\n if (newRules.indexOf(rule) === -1) {\n newRules.push(rule);\n }\n\n }\n\n // unique and sort\n return newRules.sort(function(a, b) { return a - b; });\n },\n\n /**\n * NOTES:\n * We are given a list of dates in the month (BYMONTHDAY) (23, etc..)\n * Also we are given a list of days (BYDAY) (MO, 2SU, etc..) when\n * both conditions match a given date (this.last.day) iteration stops.\n *\n * @private\n * @param {Boolean=} isInit When given true will not increment the\n * current day (this.last).\n */\n _byDayAndMonthDay: function(isInit) {\n var byMonthDay; // setup in initMonth\n var byDay = this.by_data.BYDAY;\n\n var date;\n var dateIdx = 0;\n var dateLen; // setup in initMonth\n var dayLen = byDay.length;\n\n // we are not valid by default\n var dataIsValid = 0;\n\n var daysInMonth;\n var self = this;\n // we need a copy of this, because a DateTime gets normalized\n // automatically if the day is out of range. At some points we\n // set the last day to 0 to start counting.\n var lastDay = this.last.day;\n\n function initMonth() {\n daysInMonth = ICAL.Time.daysInMonth(\n self.last.month, self.last.year\n );\n\n byMonthDay = self.normalizeByMonthDayRules(\n self.last.year,\n self.last.month,\n self.by_data.BYMONTHDAY\n );\n\n dateLen = byMonthDay.length;\n\n // For the case of more than one occurrence in one month\n // we have to be sure to start searching after the last\n // found date or at the last BYMONTHDAY, unless we are\n // initializing the iterator because in this case we have\n // to consider the last found date too.\n while (byMonthDay[dateIdx] <= lastDay &&\n !(isInit && byMonthDay[dateIdx] == lastDay) &&\n dateIdx < dateLen - 1) {\n dateIdx++;\n }\n }\n\n function nextMonth() {\n // since the day is incremented at the start\n // of the loop below, we need to start at 0\n lastDay = 0;\n self.increment_month();\n dateIdx = 0;\n initMonth();\n }\n\n initMonth();\n\n // should come after initMonth\n if (isInit) {\n lastDay -= 1;\n }\n\n // Use a counter to avoid an infinite loop with malformed rules.\n // Stop checking after 4 years so we consider also a leap year.\n var monthsCounter = 48;\n\n while (!dataIsValid && monthsCounter) {\n monthsCounter--;\n // increment the current date. This is really\n // important otherwise we may fall into the infinite\n // loop trap. The initial date takes care of the case\n // where the current date is the date we are looking\n // for.\n date = lastDay + 1;\n\n if (date > daysInMonth) {\n nextMonth();\n continue;\n }\n\n // find next date\n var next = byMonthDay[dateIdx++];\n\n // this logic is dependant on the BYMONTHDAYS\n // being in order (which is done by #normalizeByMonthDayRules)\n if (next >= date) {\n // if the next month day is in the future jump to it.\n lastDay = next;\n } else {\n // in this case the 'next' monthday has past\n // we must move to the month.\n nextMonth();\n continue;\n }\n\n // Now we can loop through the day rules to see\n // if one matches the current month date.\n for (var dayIdx = 0; dayIdx < dayLen; dayIdx++) {\n var parts = this.ruleDayOfWeek(byDay[dayIdx]);\n var pos = parts[0];\n var dow = parts[1];\n\n this.last.day = lastDay;\n if (this.last.isNthWeekDay(dow, pos)) {\n // when we find the valid one we can mark\n // the conditions as met and break the loop.\n // (Because we have this condition above\n // it will also break the parent loop).\n dataIsValid = 1;\n break;\n }\n }\n\n // Its completely possible that the combination\n // cannot be matched in the current month.\n // When we reach the end of possible combinations\n // in the current month we iterate to the next one.\n // since dateIdx is incremented right after getting\n // \"next\", we don't need dateLen -1 here.\n if (!dataIsValid && dateIdx === dateLen) {\n nextMonth();\n continue;\n }\n }\n\n if (monthsCounter <= 0) {\n // Checked 4 years without finding a Byday that matches\n // a Bymonthday. Maybe the rule is not correct.\n throw new Error(\"Malformed values in BYDAY combined with BYMONTHDAY parts\");\n }\n\n\n return dataIsValid;\n },\n\n next_month: function next_month() {\n var this_freq = (this.rule.freq == \"MONTHLY\");\n var data_valid = 1;\n\n if (this.next_hour() == 0) {\n return data_valid;\n }\n\n if (this.has_by_data(\"BYDAY\") && this.has_by_data(\"BYMONTHDAY\")) {\n data_valid = this._byDayAndMonthDay();\n } else if (this.has_by_data(\"BYDAY\")) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var setpos = 0;\n var setpos_total = 0;\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var last_day = this.last.day;\n for (var day = 1; day <= daysInMonth; day++) {\n this.last.day = day;\n if (this.is_day_in_byday(this.last)) {\n setpos_total++;\n if (day <= last_day) {\n setpos++;\n }\n }\n }\n this.last.day = last_day;\n }\n\n data_valid = 0;\n for (var day = this.last.day + 1; day <= daysInMonth; day++) {\n this.last.day = day;\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") ||\n this.check_set_position(++setpos) ||\n this.check_set_position(setpos - setpos_total - 1)) {\n\n data_valid = 1;\n break;\n }\n }\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n this.increment_month();\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") || this.check_set_position(1)) {\n data_valid = 1;\n }\n } else {\n data_valid = 0;\n }\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_indices.BYMONTHDAY++;\n\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n this.by_indices.BYMONTHDAY = 0;\n this.increment_month();\n }\n\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var day = this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];\n\n if (day < 0) {\n day = daysInMonth + day + 1;\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n data_valid = this.is_day_in_byday(this.last);\n } else {\n this.last.day = day;\n }\n\n } else {\n this.increment_month();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n if (this.by_data.BYMONTHDAY[0] > daysInMonth) {\n data_valid = 0;\n } else {\n this.last.day = this.by_data.BYMONTHDAY[0];\n }\n }\n\n return data_valid;\n },\n\n next_weekday_by_week: function next_weekday_by_week() {\n var end_of_data = 0;\n\n if (this.next_hour() == 0) {\n return end_of_data;\n }\n\n if (!this.has_by_data(\"BYDAY\")) {\n return 1;\n }\n\n for (;;) {\n var tt = new ICAL.Time();\n this.by_indices.BYDAY++;\n\n if (this.by_indices.BYDAY == Object.keys(this.by_data.BYDAY).length) {\n this.by_indices.BYDAY = 0;\n end_of_data = 1;\n }\n\n var coded_day = this.by_data.BYDAY[this.by_indices.BYDAY];\n var parts = this.ruleDayOfWeek(coded_day);\n var dow = parts[1];\n\n dow -= this.rule.wkst;\n\n if (dow < 0) {\n dow += 7;\n }\n\n tt.year = this.last.year;\n tt.month = this.last.month;\n tt.day = this.last.day;\n\n var startOfWeek = tt.startDoyWeek(this.rule.wkst);\n\n if (dow + startOfWeek < 1) {\n // The selected date is in the previous year\n if (!end_of_data) {\n continue;\n }\n }\n\n var next = ICAL.Time.fromDayOfYear(startOfWeek + dow,\n this.last.year);\n\n /**\n * The normalization horrors below are due to\n * the fact that when the year/month/day changes\n * it can effect the other operations that come after.\n */\n this.last.year = next.year;\n this.last.month = next.month;\n this.last.day = next.day;\n\n return end_of_data;\n }\n },\n\n next_year: function next_year() {\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (++this.days_index == this.days.length) {\n this.days_index = 0;\n do {\n this.increment_year(this.rule.interval);\n this.expand_year_days(this.last.year);\n } while (this.days.length == 0);\n }\n\n this._nextByYearDay();\n\n return 1;\n },\n\n _nextByYearDay: function _nextByYearDay() {\n var doy = this.days[this.days_index];\n var year = this.last.year;\n if (doy < 1) {\n // Time.fromDayOfYear(doy, year) indexes relative to the\n // start of the given year. That is different from the\n // semantics of BYYEARDAY where negative indexes are an\n // offset from the end of the given year.\n doy += 1;\n year += 1;\n }\n var next = ICAL.Time.fromDayOfYear(doy, year);\n this.last.day = next.day;\n this.last.month = next.month;\n },\n\n /**\n * @param dow (eg: '1TU', '-1MO')\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday\n * @return [pos, numericDow] (eg: [1, 3]) numericDow is relative to aWeekStart\n */\n ruleDayOfWeek: function ruleDayOfWeek(dow, aWeekStart) {\n var matches = dow.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);\n if (matches) {\n var pos = parseInt(matches[1] || 0, 10);\n dow = ICAL.Recur.icalDayToNumericDay(matches[2], aWeekStart);\n return [pos, dow];\n } else {\n return [0, 0];\n }\n },\n\n next_generic: function next_generic(aRuleType, aInterval, aDateAttr,\n aFollowingAttr, aPreviousIncr) {\n var has_by_rule = (aRuleType in this.by_data);\n var this_freq = (this.rule.freq == aInterval);\n var end_of_data = 0;\n\n if (aPreviousIncr && this[aPreviousIncr]() == 0) {\n return end_of_data;\n }\n\n if (has_by_rule) {\n this.by_indices[aRuleType]++;\n var idx = this.by_indices[aRuleType];\n var dta = this.by_data[aRuleType];\n\n if (this.by_indices[aRuleType] == dta.length) {\n this.by_indices[aRuleType] = 0;\n end_of_data = 1;\n }\n this.last[aDateAttr] = dta[this.by_indices[aRuleType]];\n } else if (this_freq) {\n this[\"increment_\" + aDateAttr](this.rule.interval);\n }\n\n if (has_by_rule && end_of_data && this_freq) {\n this[\"increment_\" + aFollowingAttr](1);\n }\n\n return end_of_data;\n },\n\n increment_monthday: function increment_monthday(inc) {\n for (var i = 0; i < inc; i++) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day++;\n\n if (this.last.day > daysInMonth) {\n this.last.day -= daysInMonth;\n this.increment_month();\n }\n }\n },\n\n increment_month: function increment_month() {\n this.last.day = 1;\n if (this.has_by_data(\"BYMONTH\")) {\n this.by_indices.BYMONTH++;\n\n if (this.by_indices.BYMONTH == this.by_data.BYMONTH.length) {\n this.by_indices.BYMONTH = 0;\n this.increment_year(1);\n }\n\n this.last.month = this.by_data.BYMONTH[this.by_indices.BYMONTH];\n } else {\n if (this.rule.freq == \"MONTHLY\") {\n this.last.month += this.rule.interval;\n } else {\n this.last.month++;\n }\n\n this.last.month--;\n var years = ICAL.helpers.trunc(this.last.month / 12);\n this.last.month %= 12;\n this.last.month++;\n\n if (years != 0) {\n this.increment_year(years);\n }\n }\n },\n\n increment_year: function increment_year(inc) {\n this.last.year += inc;\n },\n\n increment_generic: function increment_generic(inc, aDateAttr,\n aFactor, aNextIncrement) {\n this.last[aDateAttr] += inc;\n var nextunit = ICAL.helpers.trunc(this.last[aDateAttr] / aFactor);\n this.last[aDateAttr] %= aFactor;\n if (nextunit != 0) {\n this[\"increment_\" + aNextIncrement](nextunit);\n }\n },\n\n has_by_data: function has_by_data(aRuleType) {\n return (aRuleType in this.rule.parts);\n },\n\n expand_year_days: function expand_year_days(aYear) {\n var t = new ICAL.Time();\n this.days = [];\n\n // We need our own copy with a few keys set\n var parts = {};\n var rules = [\"BYDAY\", \"BYWEEKNO\", \"BYMONTHDAY\", \"BYMONTH\", \"BYYEARDAY\"];\n for (var p in rules) {\n /* istanbul ignore else */\n if (rules.hasOwnProperty(p)) {\n var part = rules[p];\n if (part in this.rule.parts) {\n parts[part] = this.rule.parts[part];\n }\n }\n }\n\n if (\"BYMONTH\" in parts && \"BYWEEKNO\" in parts) {\n var valid = 1;\n var validWeeks = {};\n t.year = aYear;\n t.isDate = true;\n\n for (var monthIdx = 0; monthIdx < this.by_data.BYMONTH.length; monthIdx++) {\n var month = this.by_data.BYMONTH[monthIdx];\n t.month = month;\n t.day = 1;\n var first_week = t.weekNumber(this.rule.wkst);\n t.day = ICAL.Time.daysInMonth(month, aYear);\n var last_week = t.weekNumber(this.rule.wkst);\n for (monthIdx = first_week; monthIdx < last_week; monthIdx++) {\n validWeeks[monthIdx] = 1;\n }\n }\n\n for (var weekIdx = 0; weekIdx < this.by_data.BYWEEKNO.length && valid; weekIdx++) {\n var weekno = this.by_data.BYWEEKNO[weekIdx];\n if (weekno < 52) {\n valid &= validWeeks[weekIdx];\n } else {\n valid = 0;\n }\n }\n\n if (valid) {\n delete parts.BYMONTH;\n } else {\n delete parts.BYWEEKNO;\n }\n }\n\n var partCount = Object.keys(parts).length;\n\n if (partCount == 0) {\n var t1 = this.dtstart.clone();\n t1.year = this.last.year;\n this.days.push(t1.dayOfYear());\n } else if (partCount == 1 && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var t2 = this.dtstart.clone();\n t2.year = aYear;\n t2.month = this.by_data.BYMONTH[monthkey];\n t2.isDate = true;\n this.days.push(t2.dayOfYear());\n }\n } else if (partCount == 1 && \"BYMONTHDAY\" in parts) {\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var t3 = this.dtstart.clone();\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(t3.month, aYear);\n day_ = day_ + daysInMonth + 1;\n }\n t3.day = day_;\n t3.year = aYear;\n t3.isDate = true;\n this.days.push(t3.dayOfYear());\n }\n } else if (partCount == 2 &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month_ = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month_, aYear);\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n day_ = day_ + daysInMonth + 1;\n }\n t.day = day_;\n t.month = month_;\n t.year = aYear;\n t.isDate = true;\n\n this.days.push(t.dayOfYear());\n }\n }\n } else if (partCount == 1 && \"BYWEEKNO\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 2 &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 1 && \"BYDAY\" in parts) {\n this.days = this.days.concat(this.expand_by_day(aYear));\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month, aYear);\n\n t.year = aYear;\n t.month = this.by_data.BYMONTH[monthkey];\n t.day = 1;\n t.isDate = true;\n\n var first_dow = t.dayOfWeek();\n var doy_offset = t.dayOfYear() - 1;\n\n t.day = daysInMonth;\n var last_dow = t.dayOfWeek();\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var set_pos_counter = 0;\n var by_month_day = [];\n for (var day = 1; day <= daysInMonth; day++) {\n t.day = day;\n if (this.is_day_in_byday(t)) {\n by_month_day.push(day);\n }\n }\n\n for (var spIndex = 0; spIndex < by_month_day.length; spIndex++) {\n if (this.check_set_position(spIndex + 1) ||\n this.check_set_position(spIndex - by_month_day.length)) {\n this.days.push(doy_offset + by_month_day[spIndex]);\n }\n }\n } else {\n for (var daycodedkey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daycodedkey)) {\n continue;\n }\n var coded_day = this.by_data.BYDAY[daycodedkey];\n var bydayParts = this.ruleDayOfWeek(coded_day);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var month_day;\n\n var first_matching_day = ((dow + 7 - first_dow) % 7) + 1;\n var last_matching_day = daysInMonth - ((last_dow + 7 - dow) % 7);\n\n if (pos == 0) {\n for (var day = first_matching_day; day <= daysInMonth; day += 7) {\n this.days.push(doy_offset + day);\n }\n } else if (pos > 0) {\n month_day = first_matching_day + (pos - 1) * 7;\n\n if (month_day <= daysInMonth) {\n this.days.push(doy_offset + month_day);\n }\n } else {\n month_day = last_matching_day + (pos + 1) * 7;\n\n if (month_day > 0) {\n this.days.push(doy_offset + month_day);\n }\n }\n }\n }\n }\n // Return dates in order of occurrence (1,2,3,...) instead\n // of by groups of weekdays (1,8,15,...,2,9,16,...).\n this.days.sort(function(a, b) { return a - b; }); // Comparator function allows to sort numbers.\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTHDAY\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n if (this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n\n if (this.by_data.BYMONTH.indexOf(tt.month) >= 0 &&\n this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYWEEKNO\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n var weekno = tt.weekNumber(this.rule.wkst);\n\n if (this.by_data.BYWEEKNO.indexOf(weekno)) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemted in libical\n } else if (partCount == 1 && \"BYYEARDAY\" in parts) {\n this.days = this.days.concat(this.by_data.BYYEARDAY);\n } else {\n this.days = [];\n }\n return 0;\n },\n\n expand_by_day: function expand_by_day(aYear) {\n\n var days_list = [];\n var tmp = this.last.clone();\n\n tmp.year = aYear;\n tmp.month = 1;\n tmp.day = 1;\n tmp.isDate = true;\n\n var start_dow = tmp.dayOfWeek();\n\n tmp.month = 12;\n tmp.day = 31;\n tmp.isDate = true;\n\n var end_dow = tmp.dayOfWeek();\n var end_year_day = tmp.dayOfYear();\n\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n\n if (pos == 0) {\n var tmp_start_doy = ((dow + 7 - start_dow) % 7) + 1;\n\n for (var doy = tmp_start_doy; doy <= end_year_day; doy += 7) {\n days_list.push(doy);\n }\n\n } else if (pos > 0) {\n var first;\n if (dow >= start_dow) {\n first = dow - start_dow + 1;\n } else {\n first = dow - start_dow + 8;\n }\n\n days_list.push(first + (pos - 1) * 7);\n } else {\n var last;\n pos = -pos;\n\n if (dow <= end_dow) {\n last = end_year_day - end_dow + dow;\n } else {\n last = end_year_day - end_dow + dow - 7;\n }\n\n days_list.push(last - (pos - 1) * 7);\n }\n }\n return days_list;\n },\n\n is_day_in_byday: function is_day_in_byday(tt) {\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n var this_dow = tt.dayOfWeek();\n\n if ((pos == 0 && dow == this_dow) ||\n (tt.nthWeekDay(dow, pos) == tt.day)) {\n return 1;\n }\n }\n\n return 0;\n },\n\n /**\n * Checks if given value is in BYSETPOS.\n *\n * @private\n * @param {Numeric} aPos position to check for.\n * @return {Boolean} false unless BYSETPOS rules exist\n * and the given value is present in rules.\n */\n check_set_position: function check_set_position(aPos) {\n if (this.has_by_data('BYSETPOS')) {\n var idx = this.by_data.BYSETPOS.indexOf(aPos);\n // negative numbers are not false-y\n return idx !== -1;\n }\n return false;\n },\n\n sort_byday_rules: function icalrecur_sort_byday_rules(aRules) {\n for (var i = 0; i < aRules.length; i++) {\n for (var j = 0; j < i; j++) {\n var one = this.ruleDayOfWeek(aRules[j], this.rule.wkst)[1];\n var two = this.ruleDayOfWeek(aRules[i], this.rule.wkst)[1];\n\n if (one > two) {\n var tmp = aRules[i];\n aRules[i] = aRules[j];\n aRules[j] = tmp;\n }\n }\n }\n },\n\n check_contract_restriction: function check_contract_restriction(aRuleType, v) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n var pass = false;\n\n if (aRuleType in this.by_data &&\n ruleMapValue == icalrecur_iterator.CONTRACT) {\n\n var ruleType = this.by_data[aRuleType];\n\n for (var bydatakey in ruleType) {\n /* istanbul ignore else */\n if (ruleType.hasOwnProperty(bydatakey)) {\n if (ruleType[bydatakey] == v) {\n pass = true;\n break;\n }\n }\n }\n } else {\n // Not a contracting byrule or has no data, test passes\n pass = true;\n }\n return pass;\n },\n\n check_contracting_rules: function check_contracting_rules() {\n var dow = this.last.dayOfWeek();\n var weekNo = this.last.weekNumber(this.rule.wkst);\n var doy = this.last.dayOfYear();\n\n return (this.check_contract_restriction(\"BYSECOND\", this.last.second) &&\n this.check_contract_restriction(\"BYMINUTE\", this.last.minute) &&\n this.check_contract_restriction(\"BYHOUR\", this.last.hour) &&\n this.check_contract_restriction(\"BYDAY\", ICAL.Recur.numericDayToIcalDay(dow)) &&\n this.check_contract_restriction(\"BYWEEKNO\", weekNo) &&\n this.check_contract_restriction(\"BYMONTHDAY\", this.last.day) &&\n this.check_contract_restriction(\"BYMONTH\", this.last.month) &&\n this.check_contract_restriction(\"BYYEARDAY\", doy));\n },\n\n setup_defaults: function setup_defaults(aRuleType, req, deftime) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n\n if (ruleMapValue != icalrecur_iterator.CONTRACT) {\n if (!(aRuleType in this.by_data)) {\n this.by_data[aRuleType] = [deftime];\n }\n if (this.rule.freq != req) {\n return this.by_data[aRuleType][0];\n }\n }\n return deftime;\n },\n\n /**\n * Convert iterator into a serialize-able object. Will preserve current\n * iteration sequence to ensure the seamless continuation of the recurrence\n * rule.\n * @return {Object}\n */\n toJSON: function() {\n var result = Object.create(null);\n\n result.initialized = this.initialized;\n result.rule = this.rule.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.by_data = this.by_data;\n result.days = this.days;\n result.last = this.last.toJSON();\n result.by_indices = this.by_indices;\n result.occurrence_number = this.occurrence_number;\n\n return result;\n }\n };\n\n icalrecur_iterator._indexMap = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 1,\n \"BYHOUR\": 2,\n \"BYDAY\": 3,\n \"BYMONTHDAY\": 4,\n \"BYYEARDAY\": 5,\n \"BYWEEKNO\": 6,\n \"BYMONTH\": 7,\n \"BYSETPOS\": 8\n };\n\n icalrecur_iterator._expandMap = {\n \"SECONDLY\": [1, 1, 1, 1, 1, 1, 1, 1],\n \"MINUTELY\": [2, 1, 1, 1, 1, 1, 1, 1],\n \"HOURLY\": [2, 2, 1, 1, 1, 1, 1, 1],\n \"DAILY\": [2, 2, 2, 1, 1, 1, 1, 1],\n \"WEEKLY\": [2, 2, 2, 2, 3, 3, 1, 1],\n \"MONTHLY\": [2, 2, 2, 2, 2, 3, 3, 1],\n \"YEARLY\": [2, 2, 2, 2, 2, 2, 2, 2]\n };\n icalrecur_iterator.UNKNOWN = 0;\n icalrecur_iterator.CONTRACT = 1;\n icalrecur_iterator.EXPAND = 2;\n icalrecur_iterator.ILLEGAL = 3;\n\n return icalrecur_iterator;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurExpansion = (function() {\n function formatTime(item) {\n return ICAL.helpers.formatClassType(item, ICAL.Time);\n }\n\n function compareTime(a, b) {\n return a.compare(b);\n }\n\n function isRecurringComponent(comp) {\n return comp.hasProperty('rdate') ||\n comp.hasProperty('rrule') ||\n comp.hasProperty('recurrence-id');\n }\n\n /**\n * @classdesc\n * Primary class for expanding recurring rules. Can take multiple rrules,\n * rdates, exdate(s) and iterate (in order) over each next occurrence.\n *\n * Once initialized this class can also be serialized saved and continue\n * iteration from the last point.\n *\n * NOTE: it is intended that this class is to be used\n * with ICAL.Event which handles recurrence exceptions.\n *\n * @example\n * // assuming event is a parsed ical component\n * var event;\n *\n * var expand = new ICAL.RecurExpansion({\n * component: event,\n * dtstart: event.getFirstPropertyValue('dtstart')\n * });\n *\n * // remember there are infinite rules\n * // so its a good idea to limit the scope\n * // of the iterations then resume later on.\n *\n * // next is always an ICAL.Time or null\n * var next;\n *\n * while (someCondition && (next = expand.next())) {\n * // do something with next\n * }\n *\n * // save instance for later\n * var json = JSON.stringify(expand);\n *\n * //...\n *\n * // NOTE: if the component's properties have\n * // changed you will need to rebuild the\n * // class and start over. This only works\n * // when the component's recurrence info is the same.\n * var expand = new ICAL.RecurExpansion(JSON.parse(json));\n *\n * @description\n * The options object can be filled with the specified initial values. It can\n * also contain additional members, as a result of serializing a previous\n * expansion state, as shown in the example.\n *\n * @class\n * @alias ICAL.RecurExpansion\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n function RecurExpansion(options) {\n this.ruleDates = [];\n this.exDates = [];\n this.fromData(options);\n }\n\n RecurExpansion.prototype = {\n /**\n * True when iteration is fully completed.\n * @type {Boolean}\n */\n complete: false,\n\n /**\n * Array of rrule iterators.\n *\n * @type {ICAL.RecurIterator[]}\n * @private\n */\n ruleIterators: null,\n\n /**\n * Array of rdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n ruleDates: null,\n\n /**\n * Array of exdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n exDates: null,\n\n /**\n * Current position in ruleDates array.\n * @type {Number}\n * @private\n */\n ruleDateInc: 0,\n\n /**\n * Current position in exDates array\n * @type {Number}\n * @private\n */\n exDateInc: 0,\n\n /**\n * Current negative date.\n *\n * @type {ICAL.Time}\n * @private\n */\n exDate: null,\n\n /**\n * Current additional date.\n *\n * @type {ICAL.Time}\n * @private\n */\n ruleDate: null,\n\n /**\n * Start date of recurring rules.\n *\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * Last expanded time\n *\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * Initialize the recurrence expansion from the data object. The options\n * object may also contain additional members, see the\n * {@link ICAL.RecurExpansion constructor} for more details.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n fromData: function(options) {\n var start = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!start) {\n throw new Error('.dtstart (ICAL.Time) must be given');\n } else {\n this.dtstart = start;\n }\n\n if (options.component) {\n this._init(options.component);\n } else {\n this.last = formatTime(options.last) || start.clone();\n\n if (!options.ruleIterators) {\n throw new Error('.ruleIterators or .component must be given');\n }\n\n this.ruleIterators = options.ruleIterators.map(function(item) {\n return ICAL.helpers.formatClassType(item, ICAL.RecurIterator);\n });\n\n this.ruleDateInc = options.ruleDateInc;\n this.exDateInc = options.exDateInc;\n\n if (options.ruleDates) {\n this.ruleDates = options.ruleDates.map(formatTime);\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (options.exDates) {\n this.exDates = options.exDates.map(formatTime);\n this.exDate = this.exDates[this.exDateInc];\n }\n\n if (typeof(options.complete) !== 'undefined') {\n this.complete = options.complete;\n }\n }\n },\n\n /**\n * Retrieve the next occurrence in the series.\n * @return {ICAL.Time}\n */\n next: function() {\n var iter;\n var ruleOfDay;\n var next;\n var compare;\n\n var maxTries = 500;\n var currentTry = 0;\n\n while (true) {\n if (currentTry++ > maxTries) {\n throw new Error(\n 'max tries have occured, rule may be impossible to forfill.'\n );\n }\n\n next = this.ruleDate;\n iter = this._nextRecurrenceIter(this.last);\n\n // no more matches\n // because we increment the rule day or rule\n // _after_ we choose a value this should be\n // the only spot where we need to worry about the\n // end of events.\n if (!next && !iter) {\n // there are no more iterators or rdates\n this.complete = true;\n break;\n }\n\n // no next rule day or recurrence rule is first.\n if (!next || (iter && next.compare(iter.last) > 0)) {\n // must be cloned, recur will reuse the time element.\n next = iter.last.clone();\n // move to next so we can continue\n iter.next();\n }\n\n // if the ruleDate is still next increment it.\n if (this.ruleDate === next) {\n this._nextRuleDay();\n }\n\n this.last = next;\n\n // check the negative rules\n if (this.exDate) {\n compare = this.exDate.compare(this.last);\n\n if (compare < 0) {\n this._nextExDay();\n }\n\n // if the current rule is excluded skip it.\n if (compare === 0) {\n this._nextExDay();\n continue;\n }\n }\n\n //XXX: The spec states that after we resolve the final\n // list of dates we execute exdate this seems somewhat counter\n // intuitive to what I have seen most servers do so for now\n // I exclude based on the original date not the one that may\n // have been modified by the exception.\n return this.last;\n }\n },\n\n /**\n * Converts object into a serialize-able format. This format can be passed\n * back into the expansion to resume iteration.\n * @return {Object}\n */\n toJSON: function() {\n function toJSON(item) {\n return item.toJSON();\n }\n\n var result = Object.create(null);\n result.ruleIterators = this.ruleIterators.map(toJSON);\n\n if (this.ruleDates) {\n result.ruleDates = this.ruleDates.map(toJSON);\n }\n\n if (this.exDates) {\n result.exDates = this.exDates.map(toJSON);\n }\n\n result.ruleDateInc = this.ruleDateInc;\n result.exDateInc = this.exDateInc;\n result.last = this.last.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.complete = this.complete;\n\n return result;\n },\n\n /**\n * Extract all dates from the properties in the given component. The\n * properties will be filtered by the property name.\n *\n * @private\n * @param {ICAL.Component} component The component to search in\n * @param {String} propertyName The property name to search for\n * @return {ICAL.Time[]} The extracted dates.\n */\n _extractDates: function(component, propertyName) {\n function handleProp(prop) {\n idx = ICAL.helpers.binsearchInsert(\n result,\n prop,\n compareTime\n );\n\n // ordered insert\n result.splice(idx, 0, prop);\n }\n\n var result = [];\n var props = component.getAllProperties(propertyName);\n var len = props.length;\n var i = 0;\n var prop;\n\n var idx;\n\n for (; i < len; i++) {\n props[i].getValues().forEach(handleProp);\n }\n\n return result;\n },\n\n /**\n * Initialize the recurrence expansion.\n *\n * @private\n * @param {ICAL.Component} component The component to initialize from.\n */\n _init: function(component) {\n this.ruleIterators = [];\n\n this.last = this.dtstart.clone();\n\n // to provide api consistency non-recurring\n // events can also use the iterator though it will\n // only return a single time.\n if (!isRecurringComponent(component)) {\n this.ruleDate = this.last.clone();\n this.complete = true;\n return;\n }\n\n if (component.hasProperty('rdate')) {\n this.ruleDates = this._extractDates(component, 'rdate');\n\n // special hack for cases where first rdate is prior\n // to the start date. We only check for the first rdate.\n // This is mostly for google's crazy recurring date logic\n // (contacts birthdays).\n if ((this.ruleDates[0]) &&\n (this.ruleDates[0].compare(this.dtstart) < 0)) {\n\n this.ruleDateInc = 0;\n this.last = this.ruleDates[0].clone();\n } else {\n this.ruleDateInc = ICAL.helpers.binsearchInsert(\n this.ruleDates,\n this.last,\n compareTime\n );\n }\n\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (component.hasProperty('rrule')) {\n var rules = component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n\n var rule;\n var iter;\n\n for (; i < len; i++) {\n rule = rules[i].getFirstValue();\n iter = rule.iterator(this.dtstart);\n this.ruleIterators.push(iter);\n\n // increment to the next occurrence so future\n // calls to next return times beyond the initial iteration.\n // XXX: I find this suspicious might be a bug?\n iter.next();\n }\n }\n\n if (component.hasProperty('exdate')) {\n this.exDates = this._extractDates(component, 'exdate');\n // if we have a .last day we increment the index to beyond it.\n this.exDateInc = ICAL.helpers.binsearchInsert(\n this.exDates,\n this.last,\n compareTime\n );\n\n this.exDate = this.exDates[this.exDateInc];\n }\n },\n\n /**\n * Advance to the next exdate\n * @private\n */\n _nextExDay: function() {\n this.exDate = this.exDates[++this.exDateInc];\n },\n\n /**\n * Advance to the next rule date\n * @private\n */\n _nextRuleDay: function() {\n this.ruleDate = this.ruleDates[++this.ruleDateInc];\n },\n\n /**\n * Find and return the recurrence rule with the most recent event and\n * return it.\n *\n * @private\n * @return {?ICAL.RecurIterator} Found iterator.\n */\n _nextRecurrenceIter: function() {\n var iters = this.ruleIterators;\n\n if (iters.length === 0) {\n return null;\n }\n\n var len = iters.length;\n var iter;\n var iterTime;\n var iterIdx = 0;\n var chosenIter;\n\n // loop through each iterator\n for (; iterIdx < len; iterIdx++) {\n iter = iters[iterIdx];\n iterTime = iter.last;\n\n // if iteration is complete\n // then we must exclude it from\n // the search and remove it.\n if (iter.completed) {\n len--;\n if (iterIdx !== 0) {\n iterIdx--;\n }\n iters.splice(iterIdx, 1);\n continue;\n }\n\n // find the most recent possible choice\n if (!chosenIter || chosenIter.last.compare(iterTime) > 0) {\n // that iterator is saved\n chosenIter = iter;\n }\n }\n\n // the chosen iterator is returned but not mutated\n // this iterator contains the most recent event.\n return chosenIter;\n }\n };\n\n return RecurExpansion;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Event = (function() {\n\n /**\n * @classdesc\n * ICAL.js is organized into multiple layers. The bottom layer is a raw jCal\n * object, followed by the component/property layer. The highest level is the\n * event representation, which this class is part of. See the\n * {@tutorial layers} guide for more details.\n *\n * @class\n * @alias ICAL.Event\n * @param {ICAL.Component=} component The ICAL.Component to base this event on\n * @param {Object} options Options for this event\n * @param {Boolean} options.strictExceptions\n * When true, will verify exceptions are related by their UUID\n * @param {Array<ICAL.Component|ICAL.Event>} options.exceptions\n * Exceptions to this event, either as components or events. If not\n * specified exceptions will automatically be set in relation of\n * component's parent\n */\n function Event(component, options) {\n if (!(component instanceof ICAL.Component)) {\n options = component;\n component = null;\n }\n\n if (component) {\n this.component = component;\n } else {\n this.component = new ICAL.Component('vevent');\n }\n\n this._rangeExceptionCache = Object.create(null);\n this.exceptions = Object.create(null);\n this.rangeExceptions = [];\n\n if (options && options.strictExceptions) {\n this.strictExceptions = options.strictExceptions;\n }\n\n if (options && options.exceptions) {\n options.exceptions.forEach(this.relateException, this);\n } else if (this.component.parent && !this.isRecurrenceException()) {\n this.component.parent.getAllSubcomponents('vevent').forEach(function(event) {\n if (event.hasProperty('recurrence-id')) {\n this.relateException(event);\n }\n }, this);\n }\n }\n\n Event.prototype = {\n\n THISANDFUTURE: 'THISANDFUTURE',\n\n /**\n * List of related event exceptions.\n *\n * @type {ICAL.Event[]}\n */\n exceptions: null,\n\n /**\n * When true, will verify exceptions are related by their UUID.\n *\n * @type {Boolean}\n */\n strictExceptions: false,\n\n /**\n * Relates a given event exception to this object. If the given component\n * does not share the UID of this event it cannot be related and will throw\n * an exception.\n *\n * If this component is an exception it cannot have other exceptions\n * related to it.\n *\n * @param {ICAL.Component|ICAL.Event} obj Component or event\n */\n relateException: function(obj) {\n if (this.isRecurrenceException()) {\n throw new Error('cannot relate exception to exceptions');\n }\n\n if (obj instanceof ICAL.Component) {\n obj = new ICAL.Event(obj);\n }\n\n if (this.strictExceptions && obj.uid !== this.uid) {\n throw new Error('attempted to relate unrelated exception');\n }\n\n var id = obj.recurrenceId.toString();\n\n // we don't sort or manage exceptions directly\n // here the recurrence expander handles that.\n this.exceptions[id] = obj;\n\n // index RANGE=THISANDFUTURE exceptions so we can\n // look them up later in getOccurrenceDetails.\n if (obj.modifiesFuture()) {\n var item = [\n obj.recurrenceId.toUnixTime(), id\n ];\n\n // we keep them sorted so we can find the nearest\n // value later on...\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n item,\n compareRangeException\n );\n\n this.rangeExceptions.splice(idx, 0, item);\n }\n },\n\n /**\n * Checks if this record is an exception and has the RANGE=THISANDFUTURE\n * value.\n *\n * @return {Boolean} True, when exception is within range\n */\n modifiesFuture: function() {\n if (!this.component.hasProperty('recurrence-id')) {\n return false;\n }\n\n var range = this.component.getFirstProperty('recurrence-id').getParameter('range');\n return range === this.THISANDFUTURE;\n },\n\n /**\n * Finds the range exception nearest to the given date.\n *\n * @param {ICAL.Time} time usually an occurrence time of an event\n * @return {?ICAL.Event} the related event/exception or null\n */\n findRangeException: function(time) {\n if (!this.rangeExceptions.length) {\n return null;\n }\n\n var utc = time.toUnixTime();\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n [utc],\n compareRangeException\n );\n\n idx -= 1;\n\n // occurs before\n if (idx < 0) {\n return null;\n }\n\n var rangeItem = this.rangeExceptions[idx];\n\n /* istanbul ignore next: sanity check only */\n if (utc < rangeItem[0]) {\n return null;\n }\n\n return rangeItem[1];\n },\n\n /**\n * This object is returned by {@link ICAL.Event#getOccurrenceDetails getOccurrenceDetails}\n *\n * @typedef {Object} occurrenceDetails\n * @memberof ICAL.Event\n * @property {ICAL.Time} recurrenceId The passed in recurrence id\n * @property {ICAL.Event} item The occurrence\n * @property {ICAL.Time} startDate The start of the occurrence\n * @property {ICAL.Time} endDate The end of the occurrence\n */\n\n /**\n * Returns the occurrence details based on its start time. If the\n * occurrence has an exception will return the details for that exception.\n *\n * NOTE: this method is intend to be used in conjunction\n * with the {@link ICAL.Event#iterator iterator} method.\n *\n * @param {ICAL.Time} occurrence time occurrence\n * @return {ICAL.Event.occurrenceDetails} Information about the occurrence\n */\n getOccurrenceDetails: function(occurrence) {\n var id = occurrence.toString();\n var utcId = occurrence.convertToZone(ICAL.Timezone.utcTimezone).toString();\n var item;\n var result = {\n //XXX: Clone?\n recurrenceId: occurrence\n };\n\n if (id in this.exceptions) {\n item = result.item = this.exceptions[id];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else if (utcId in this.exceptions) {\n item = this.exceptions[utcId];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else {\n // range exceptions (RANGE=THISANDFUTURE) have a\n // lower priority then direct exceptions but\n // must be accounted for first. Their item is\n // always the first exception with the range prop.\n var rangeExceptionId = this.findRangeException(\n occurrence\n );\n var end;\n\n if (rangeExceptionId) {\n var exception = this.exceptions[rangeExceptionId];\n\n // range exception must modify standard time\n // by the difference (if any) in start/end times.\n result.item = exception;\n\n var startDiff = this._rangeExceptionCache[rangeExceptionId];\n\n if (!startDiff) {\n var original = exception.recurrenceId.clone();\n var newStart = exception.startDate.clone();\n\n // zones must be same otherwise subtract may be incorrect.\n original.zone = newStart.zone;\n startDiff = newStart.subtractDate(original);\n\n this._rangeExceptionCache[rangeExceptionId] = startDiff;\n }\n\n var start = occurrence.clone();\n start.zone = exception.startDate.zone;\n start.addDuration(startDiff);\n\n end = start.clone();\n end.addDuration(exception.duration);\n\n result.startDate = start;\n result.endDate = end;\n } else {\n // no range exception standard expansion\n end = occurrence.clone();\n end.addDuration(this.duration);\n\n result.endDate = end;\n result.startDate = occurrence;\n result.item = this;\n }\n }\n\n return result;\n },\n\n /**\n * Builds a recur expansion instance for a specific point in time (defaults\n * to startDate).\n *\n * @param {ICAL.Time} startTime Starting point for expansion\n * @return {ICAL.RecurExpansion} Expansion object\n */\n iterator: function(startTime) {\n return new ICAL.RecurExpansion({\n component: this.component,\n dtstart: startTime || this.startDate\n });\n },\n\n /**\n * Checks if the event is recurring\n *\n * @return {Boolean} True, if event is recurring\n */\n isRecurring: function() {\n var comp = this.component;\n return comp.hasProperty('rrule') || comp.hasProperty('rdate');\n },\n\n /**\n * Checks if the event describes a recurrence exception. See\n * {@tutorial terminology} for details.\n *\n * @return {Boolean} True, if the even describes a recurrence exception\n */\n isRecurrenceException: function() {\n return this.component.hasProperty('recurrence-id');\n },\n\n /**\n * Returns the types of recurrences this event may have.\n *\n * Returned as an object with the following possible keys:\n *\n * - YEARLY\n * - MONTHLY\n * - WEEKLY\n * - DAILY\n * - MINUTELY\n * - SECONDLY\n *\n * @return {Object.<ICAL.Recur.frequencyValues, Boolean>}\n * Object of recurrence flags\n */\n getRecurrenceTypes: function() {\n var rules = this.component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n var result = Object.create(null);\n\n for (; i < len; i++) {\n var value = rules[i].getFirstValue();\n result[value.freq] = true;\n }\n\n return result;\n },\n\n /**\n * The uid of this event\n * @type {String}\n */\n get uid() {\n return this._firstProp('uid');\n },\n\n set uid(value) {\n this._setProp('uid', value);\n },\n\n /**\n * The start date\n * @type {ICAL.Time}\n */\n get startDate() {\n return this._firstProp('dtstart');\n },\n\n set startDate(value) {\n this._setTime('dtstart', value);\n },\n\n /**\n * The end date. This can be the result directly from the property, or the\n * end date calculated from start date and duration. Setting the property\n * will remove any duration properties.\n * @type {ICAL.Time}\n */\n get endDate() {\n var endDate = this._firstProp('dtend');\n if (!endDate) {\n var duration = this._firstProp('duration');\n endDate = this.startDate.clone();\n if (duration) {\n endDate.addDuration(duration);\n } else if (endDate.isDate) {\n endDate.day += 1;\n }\n }\n return endDate;\n },\n\n set endDate(value) {\n if (this.component.hasProperty('duration')) {\n this.component.removeProperty('duration');\n }\n this._setTime('dtend', value);\n },\n\n /**\n * The duration. This can be the result directly from the property, or the\n * duration calculated from start date and end date. Setting the property\n * will remove any `dtend` properties.\n * @type {ICAL.Duration}\n */\n get duration() {\n var duration = this._firstProp('duration');\n if (!duration) {\n return this.endDate.subtractDateTz(this.startDate);\n }\n return duration;\n },\n\n set duration(value) {\n if (this.component.hasProperty('dtend')) {\n this.component.removeProperty('dtend');\n }\n\n this._setProp('duration', value);\n },\n\n /**\n * The location of the event.\n * @type {String}\n */\n get location() {\n return this._firstProp('location');\n },\n\n set location(value) {\n return this._setProp('location', value);\n },\n\n /**\n * The attendees in the event\n * @type {ICAL.Property[]}\n * @readonly\n */\n get attendees() {\n //XXX: This is way lame we should have a better\n // data structure for this later.\n return this.component.getAllProperties('attendee');\n },\n\n\n /**\n * The event summary\n * @type {String}\n */\n get summary() {\n return this._firstProp('summary');\n },\n\n set summary(value) {\n this._setProp('summary', value);\n },\n\n /**\n * The event description.\n * @type {String}\n */\n get description() {\n return this._firstProp('description');\n },\n\n set description(value) {\n this._setProp('description', value);\n },\n\n /**\n * The organizer value as an uri. In most cases this is a mailto: uri, but\n * it can also be something else, like urn:uuid:...\n * @type {String}\n */\n get organizer() {\n return this._firstProp('organizer');\n },\n\n set organizer(value) {\n this._setProp('organizer', value);\n },\n\n /**\n * The sequence value for this event. Used for scheduling\n * see {@tutorial terminology}.\n * @type {Number}\n */\n get sequence() {\n return this._firstProp('sequence');\n },\n\n set sequence(value) {\n this._setProp('sequence', value);\n },\n\n /**\n * The recurrence id for this event. See {@tutorial terminology} for details.\n * @type {ICAL.Time}\n */\n get recurrenceId() {\n return this._firstProp('recurrence-id');\n },\n\n set recurrenceId(value) {\n this._setTime('recurrence-id', value);\n },\n\n /**\n * Set/update a time property's value.\n * This will also update the TZID of the property.\n *\n * TODO: this method handles the case where we are switching\n * from a known timezone to an implied timezone (one without TZID).\n * This does _not_ handle the case of moving between a known\n * (by TimezoneService) timezone to an unknown timezone...\n *\n * We will not add/remove/update the VTIMEZONE subcomponents\n * leading to invalid ICAL data...\n * @private\n * @param {String} propName The property name\n * @param {ICAL.Time} time The time to set\n */\n _setTime: function(propName, time) {\n var prop = this.component.getFirstProperty(propName);\n\n if (!prop) {\n prop = new ICAL.Property(propName);\n this.component.addProperty(prop);\n }\n\n // utc and local don't get a tzid\n if (\n time.zone === ICAL.Timezone.localTimezone ||\n time.zone === ICAL.Timezone.utcTimezone\n ) {\n // remove the tzid\n prop.removeParameter('tzid');\n } else {\n prop.setParameter('tzid', time.zone.tzid);\n }\n\n prop.setValue(time);\n },\n\n _setProp: function(name, value) {\n this.component.updatePropertyWithValue(name, value);\n },\n\n _firstProp: function(name) {\n return this.component.getFirstPropertyValue(name);\n },\n\n /**\n * The string representation of this event.\n * @return {String}\n */\n toString: function() {\n return this.component.toString();\n }\n\n };\n\n function compareRangeException(a, b) {\n if (a[0] > b[0]) return 1;\n if (b[0] > a[0]) return -1;\n return 0;\n }\n\n return Event;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.ComponentParser = (function() {\n /**\n * @classdesc\n * The ComponentParser is used to process a String or jCal Object,\n * firing callbacks for various found components, as well as completion.\n *\n * @example\n * var options = {\n * // when false no events will be emitted for type\n * parseEvent: true,\n * parseTimezone: true\n * };\n *\n * var parser = new ICAL.ComponentParser(options);\n *\n * parser.onevent(eventComponent) {\n * //...\n * }\n *\n * // ontimezone, etc...\n *\n * parser.oncomplete = function() {\n *\n * };\n *\n * parser.process(stringOrComponent);\n *\n * @class\n * @alias ICAL.ComponentParser\n * @param {Object=} options Component parser options\n * @param {Boolean} options.parseEvent Whether events should be parsed\n * @param {Boolean} options.parseTimezeone Whether timezones should be parsed\n */\n function ComponentParser(options) {\n if (typeof(options) === 'undefined') {\n options = {};\n }\n\n var key;\n for (key in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(key)) {\n this[key] = options[key];\n }\n }\n }\n\n ComponentParser.prototype = {\n\n /**\n * When true, parse events\n *\n * @type {Boolean}\n */\n parseEvent: true,\n\n /**\n * When true, parse timezones\n *\n * @type {Boolean}\n */\n parseTimezone: true,\n\n\n /* SAX like events here for reference */\n\n /**\n * Fired when parsing is complete\n * @callback\n */\n oncomplete: /* istanbul ignore next */ function() {},\n\n /**\n * Fired if an error occurs during parsing.\n *\n * @callback\n * @param {Error} err details of error\n */\n onerror: /* istanbul ignore next */ function(err) {},\n\n /**\n * Fired when a top level component (VTIMEZONE) is found\n *\n * @callback\n * @param {ICAL.Timezone} component Timezone object\n */\n ontimezone: /* istanbul ignore next */ function(component) {},\n\n /**\n * Fired when a top level component (VEVENT) is found.\n *\n * @callback\n * @param {ICAL.Event} component Top level component\n */\n onevent: /* istanbul ignore next */ function(component) {},\n\n /**\n * Process a string or parse ical object. This function itself will return\n * nothing but will start the parsing process.\n *\n * Events must be registered prior to calling this method.\n *\n * @param {ICAL.Component|String|Object} ical The component to process,\n * either in its final form, as a jCal Object, or string representation\n */\n process: function(ical) {\n //TODO: this is sync now in the future we will have a incremental parser.\n if (typeof(ical) === 'string') {\n ical = ICAL.parse(ical);\n }\n\n if (!(ical instanceof ICAL.Component)) {\n ical = new ICAL.Component(ical);\n }\n\n var components = ical.getAllSubcomponents();\n var i = 0;\n var len = components.length;\n var component;\n\n for (; i < len; i++) {\n component = components[i];\n\n switch (component.name) {\n case 'vtimezone':\n if (this.parseTimezone) {\n var tzid = component.getFirstPropertyValue('tzid');\n if (tzid) {\n this.ontimezone(new ICAL.Timezone({\n tzid: tzid,\n component: component\n }));\n }\n }\n break;\n case 'vevent':\n if (this.parseEvent) {\n this.onevent(new ICAL.Event(component));\n }\n break;\n default:\n continue;\n }\n }\n\n //XXX: ideally we should do a \"nextTick\" here\n // so in all cases this is actually async.\n this.oncomplete();\n }\n };\n\n return ComponentParser;\n}());\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" 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 \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\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)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.assign.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n headers: {\n requesttoken: (0, _auth.getRequestToken)()\n }\n});\n\nvar cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n return client.defaults.headers.requesttoken = token;\n});\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n\n const _build = function (text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n return _build(url, params || {});\n};\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\n\n\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _generateUrlPath(url, params, options);\n }\n\n return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nconst imagePath = (app, file) => {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nconst generateFilePath = (app, type, file) => {\n const isCore = OC.coreApps.indexOf(app) !== -1;\n let link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nconst getRootUrl = () => OC.webroot;\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isSymbol = require('../internals/is-symbol');\n\nmodule.exports = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue === 'string' &&\n replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n replaceValue.indexOf('$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","module.exports = false;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.17.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = {};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n // eslint-disable-next-line max-statements -- TODO\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = patchedExec.call(raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = str.slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],e):\"object\"==typeof exports?exports[\"Components/Avatar\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=e())}(window,(function(){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=55)}([function(t,e,n){\"use strict\";function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var a,i,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(a=n.next()).done)&&(o.push(a.value),!e||o.length!==e);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}t.exports=function(t){var e=a(t,4),n=e[1],i=e[3];if(!i)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},a=[],i=0;i<t.length;i++){var o=t[i],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,e),references:1}),a.push(u)}return a}function c(t){var e=document.createElement(\"style\"),a=t.attributes||{};if(void 0===a.nonce){var i=n.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){e.setAttribute(t,a[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function m(t,e,n,a){var i=n?\"\":a.media?\"@media \".concat(a.media,\" {\").concat(a.css,\"}\"):a.css;if(t.styleSheet)t.styleSheet.cssText=d(e,i);else{var o=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,n){var a=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var g=null,h=0;function A(t,e){var n,a,i;if(e.singleton){var o=h++;n=g||(g=c(e)),a=m.bind(null,n,o,!1),i=m.bind(null,n,o,!0)}else n=c(e),a=p.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return a(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;a(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var a=0;a<n.length;a++){var i=s(n[a]);r[i].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return a}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var a=n(13),i=Object(a.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{\"\":e}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var a=n(5),i=n(2),o=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\na.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};e.default=a.VTooltip},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var a={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var a=n(6),i=new(n.n(a).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},,,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return a.default})),n.d(e,\"b\",(function(){return i.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return p}));var a=n(47),i=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function m(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var a,i,o,r,s,m,p,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(a=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(a,\"user_status\")&&a.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=e.sent,o=i.data,r=o.ocs.data,s=r.status,m=r.message,p=r.icon,n.userStatus.status=s,n.userStatus.message=m||\"\",n.userStatus.icon=p||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(a,i){var o=e.apply(t,n);function r(t){m(o,a,i,r,s,\"next\",t)}function s(t){m(o,a,i,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return f})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var a=n(43),i=n.n(a),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),m={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},p=n(2),g=n.n(p),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),b=Object(v.a)(m,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,f=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return i()(t).split(f).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),a=document.createElement(\"div\"),i=document.createElement(\"div\");a.style.display=\"none\",a.appendChild(i),document.body.appendChild(a),n.$mount(i);var o=a.innerHTML;return n.$destroy(),a.remove(),o}}}},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),m=r()(i.a),p=l()(c.a),g=l()(u.a),h=l()(d.a);m.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=m},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function a(t,e,n){this.r=t,this.g=e,this.b=n}function i(t,e,n){var i=[];i.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);i.push(new a(s,l,c))}return i}e.a=function(t){t||(t=6);var e=new a(182,70,157),n=new a(221,203,85),o=new a(0,130,201),r=i(t,e,n),s=i(t,n,o),l=i(t,o,e);return r.concat(s).concat(l)}},,,function(t,e,n){\"use strict\";function a(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var a=0,o=function(){};return{s:o,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,i=a(e);try{for(i.s();!(n=i.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var a={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,a=e.target,i=!!a.checked;if(Array.isArray(n)){var o=t._i(n,null);a.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},m=n(35),p={insert:\"head\",singleton:!1},g=(o()(m.a,p),m.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var a=n(15),i=n.n(a),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),m=n(54),p=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function b(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(a,i){var o=t.apply(e,n);function r(t){b(o,a,i,r,s,\"next\",t)}function s(t){b(o,a,i,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:p.default,ClickOutside:o.directive},components:{DotsHorizontal:i.a,Popover:v.a,PopoverMenu:m.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,a=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(a):a}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:a=e.sent,i=a.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,a=\"/avatar/{user}/{size}\";this.isGuest&&(a=\"/avatar/guest/{user}/{size}\");var i=Object(r.generateUrl)(a,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof a)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===a&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(i.srcset=n),i.src=t}}},w=n(2),S=n.n(w),B=n(41),j={insert:\"head\",singleton:!1},N=(S()(B.a,j),B.a.locals,n(3)),P=n(42),z=n.n(P),E=Object(N.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof z.a&&z()(E);var _=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=_},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var a=n(56),i=n.n(a),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=i()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,a=[],i=0;i<t.length;i++)a.push(parseInt(t.charAt(i),16)%16);for(var o in a)n+=a[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=78)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:b(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function b(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},62:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-459b7561]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-459b7561]{background-color:var(--color-background-hover)}.action--disabled[data-v-459b7561]{pointer-events:none;opacity:.5}.action--disabled[data-v-459b7561]:hover,.action--disabled[data-v-459b7561]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-459b7561]{opacity:1 !important}.action-button[data-v-459b7561]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-459b7561]:hover,.action-button[data-v-459b7561]:focus{opacity:1}.action-button>span[data-v-459b7561]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-459b7561]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-459b7561] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-459b7561] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-459b7561]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-459b7561]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-459b7561]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},63:function(t,n){},69:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(32).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(62),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(63),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"459b7561\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},78:function(t,n,e){\"use strict\";e.r(n);var o=e(69);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a}})}));\n//# sourceMappingURL=ActionButton.js.map","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\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","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.codePointAt` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\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","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionLink\",[],n):\"object\"==typeof exports?exports[\"Components/ActionLink\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionLink\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=105)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,c=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){c=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(c)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},105:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionLink\",mixins:[e(32).a],props:{href:{type:String,default:\"#\",required:!0,validator:function(t){try{return new URL(t)}catch(n){return t.startsWith(\"#\")||t.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(t){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(t)>-1}}}},i=e(2),r=e.n(i),a=e(84),c={insert:\"head\",singleton:!1},s=(r()(a.a,c),a.a.locals,e(3)),l=e(85),u=e.n(l),d=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:t.download,href:t.href,\"aria-label\":t.ariaLabel,target:t.target,rel:\"noreferrer noopener\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-link__icon\",class:[t.isIconUrl?\"action-link__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"aee1c25a\",null);\"function\"==typeof u.a&&u()(d);var f=d.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=f},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function c(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],s=n.base?r[0]+n.base:r[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:g(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function g(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);a[i].references--}for(var r=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},84:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-aee1c25a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-aee1c25a]{background-color:var(--color-background-hover)}.action-link[data-v-aee1c25a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-aee1c25a]:hover,.action-link[data-v-aee1c25a]:focus{opacity:1}.action-link>span[data-v-aee1c25a]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-aee1c25a]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-aee1c25a] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-aee1c25a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-aee1c25a]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-aee1c25a]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-aee1c25a]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},85:function(t,n){}})}));\n//# sourceMappingURL=ActionLink.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=53)}([function(e,t,n){\"use strict\";function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&(\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"]);if(null==n)return;var o,i,a=[],r=!0,s=!1;try{for(n=n.call(e);!(r=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);r=!0);}catch(e){s=!0,i=e}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}e.exports=function(e){var t=o(e,4),n=t[1],i=t[3];if(!i)return n;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(e){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);o&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),t.push(l))}},t}},function(e,t,n){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function s(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},o=[],i=0;i<e.length;i++){var a=e[i],l=t.base?a[0]+t.base:a[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,t),references:1}),o.push(u)}return o}function c(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var i=n.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var r=a(e.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join(\"\\n\")});function m(e,t,n,o){var i=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=d(t,i);else{var a=document.createTextNode(i),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(a,r[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,i=n.media,a=n.sourceMap;if(i?e.setAttribute(\"media\",i):e.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var g=null,h=0;function A(e,t){var n,o,i;if(t.singleton){var a=h++;n=g||(g=c(t)),o=m.bind(null,n,a,!1),i=m.bind(null,n,a,!0)}else n=c(t),o=p.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=i());var n=l(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var i=s(n[o]);r[i].references--}for(var a=l(e,t),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=a}}}},function(e,t,n){\"use strict\";function o(e,t,n,o,i,a,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),a&&(c._scopeId=\"data-v-\"+a),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,\"a\",(function(){return o}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return s})),n.d(t,\"a\",(function(){return r}));var o=n(13),i=Object(o.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};i.addTranslation(e.locale,{translations:{\"\":t}})}));var a=i.build(),r=a.ngettext.bind(a),s=a.gettext.bind(a)},function(e,t){e.exports=require(\"v-tooltip\")},function(e,t){e.exports=require(\"vue\")},,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var o=n(5),i=n(2),a=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};a()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1,o.VTooltip.options.defaultDelay={show:500,hide:200};t.default=o.VTooltip},function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){e.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(e,t,n){\"use strict\";var o={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var e=this;this.$watch((function(){return e.$refs.popover.isOpen}),(function(t){t?e.$emit(\"after-show\"):e.$emit(\"after-hide\")}))}},i=n(2),a=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(a()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(o,(function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"VPopover\",e._g(e._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:e._u([{key:\"popover\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);t.a=d.exports},function(e,t){e.exports=require(\"vue-material-design-icons/DotsHorizontal\")},,function(e,t,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.a=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,e||5)}},,function(e,t,n){\"use strict\";n.r(t);var o=n(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a},,,,function(e,t,n){\"use strict\";var o=n(6),i=n.n(o);t.a=function(e,t,n){if(void 0!==e)for(var o=e.length-1;o>=0;o--){var a=e[o],r=!a.componentOptions&&a.tag&&-1===t.indexOf(a.tag),s=!!a.componentOptions&&\"string\"==typeof a.componentOptions.tag,l=s&&-1===t.indexOf(a.componentOptions.tag);(r||!s||l)&&((r||l)&&i.a.util.warn(\"\".concat(r?a.tag:a.componentOptions.tag,\" is not allowed inside the \").concat(n.$options.name,\" component\"),n),e.splice(o,1))}}},,,,,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon[data-v-de7c02d6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-de7c02d6]{position:relative;display:inline-block}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active,.action-item__menutoggle[data-v-de7c02d6]:hover,.action-item__menutoggle[data-v-de7c02d6]:focus,.action-item__menutoggle[data-v-de7c02d6]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-de7c02d6]:disabled,.action-item--single[data-v-de7c02d6]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-de7c02d6]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-de7c02d6],.action-item__menutoggle[data-v-de7c02d6]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item[data-v-de7c02d6] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-de7c02d6] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-de7c02d6]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--with-title[data-v-de7c02d6]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-de7c02d6] span{width:24px;height:24px;line-height:16px;position:absolute;top:10px;left:10px}.action-item__menutoggle--primary[data-v-de7c02d6]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-de7c02d6],.action-item__menutoggle--primary[data-v-de7c02d6]:hover,.action-item__menutoggle--primary[data-v-de7c02d6]:focus,.action-item__menutoggle--primary[data-v-de7c02d6]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-de7c02d6]{opacity:.7}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active{opacity:1}.action-item--single>[hidden][data-v-de7c02d6]{display:none}.ie .action-item__menu[data-v-de7c02d6],.ie .action-item__menu .action-item__menu_arrow[data-v-de7c02d6],.edge .action-item__menu[data-v-de7c02d6],.edge .action-item__menu .action-item__menu_arrow[data-v-de7c02d6]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCrnBc,CDunBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCjoBc,CDkoBd,uCC9nBgD,CD+nBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC7pBmB,CD8pBnB,WC9pBmB,CD+pBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAxC/B,oDA4CE,UCxqBmB,CDyqBnB,WCzqBmB,CD0qBnB,SCvpBc,CDymBhB,+EAiDG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCrqBiB,CDsqBjB,gBAAiB,CACjB,gBCrrBc,CDurBd,sDACC,iBAAkB,CAClB,cCrrB6C,CDsrB7C,iBC9rBkB,CD+rBlB,kBAAmB,CACnB,SC7qBa,CD8qBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,2DAeC,UAAW,CACX,WAAY,CACZ,gBCxsBY,CDysBZ,iBAAkB,CAClB,QAAiC,CACjC,SAAkC,CAClC,mDAID,SCjsBa,CDksBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCjtBiB,CDgtBjB,qIAKC,SCptBa,CD+sBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t/deep/ span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: ($clickable-area - 24px) / 2;\\n\\t\\t\\t\\tleft: ($clickable-area - 24px) / 2;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},,,,,,,function(e,t,n){\"use strict\";var o=n(15),i=n.n(o),a=n(11),r=n(17),s=n(23),l=n(4),c=n(19);function u(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\",\"ActionCaption\"],A={name:\"Actions\",directives:{tooltip:a.default},components:{DotsHorizontal:i.a,Popover:c.default,VNodes:{functional:!0,render:function(e,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:Object(l.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(r.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var e=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===e)return p(p({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===e)return p(p({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===e)return p(p({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var e,t,n;return null===(e=this.firstActionVNode)||void 0===e||null===(t=e.componentOptions)||void 0===t||null===(n=t.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var e,t;return null===(e=this.firstAction)||void 0===e||null===(t=e.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(e){e!==this.opened&&(this.opened=e)}},beforeMount:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},beforeUpdate:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},methods:{openMenu:function(e){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(e){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var n=t.querySelector(\".focusable\");if(n){var o=u(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},execFirstAction:function(e){this.firstActionEvent&&this.firstActionEvent(e)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(e){return!!e&&!!e.componentOptions}))},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}}},v=n(2),f=n.n(v),b=n(29),C={insert:\"head\",singleton:!1},y=(f()(b.a,C),b.a.locals,n(3)),k=n(30),S=n.n(k),w=Object(y.a)(A,(function(){var e,t=this,n=t.$createElement,o=t._self._c||n;return t.isValidSingleAction&&!t.forceMenu?o(\"element\",t._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(e={},e[t.firstAction.icon]=t.firstAction.icon,e[t.firstActionClass]=t.firstActionClass,e),attrs:{rel:\"noreferrer noopener\",disabled:t.disabled},on:t._d({focus:t.onFocus,blur:t.onBlur},[t.firstActionEventBinding,t.execFirstAction])},\"element\",t.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:t.firstActionIconSlot}}),t._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[t._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasMultipleActions||t.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":t.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:t.opened,placement:t.placement,\"boundaries-element\":t.boundariesElement,container:t.container},on:{\"update:open\":function(e){t.opened=e},show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu},scopedSlots:t._u([{key:\"trigger\",fn:function(){var e;return[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(e={},e[t.defaultIcon]=!t.iconSlotIsPopulated,e[\"action-item__menutoggle--with-title\"]=t.menuTitle,e[\"action-item__menutoggle--with-icon-slot\"]=t.iconSlotIsPopulated,e[\"action-item__menutoggle--default-icon\"]=!t.iconSlotIsPopulated&&\"\"===t.defaultIcon,e[\"action-item__menutoggle--primary\"]=t.primary,e),attrs:{disabled:t.disabled,\"aria-haspopup\":\"true\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.randomId,\"aria-expanded\":t.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:t.onFocus,blur:t.onBlur}},[t.iconSlotIsPopulated?t._t(\"icon\"):\"\"===t.defaultIcon?o(\"DotsHorizontal\",{attrs:{size:24,decorative:\"\"}}):t._e(),t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[t._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.opened,expression:\"opened\"}],ref:\"menu\",class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?null:e.shiftKey?e.ctrlKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e):null},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-up\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusFirstAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-down\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusLastAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.closeMenu(e))}],mousemove:t.onMouseFocusAction}},[o(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\"}},[t.opened?[t._t(\"default\")]:t._e()],2)])])],1)}),[],!1,null,\"de7c02d6\",null);\"function\"==typeof S.a&&S()(w);t.a=w.exports},,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";n.r(t);var o=n(37);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a}])}));\n//# sourceMappingURL=Actions.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],n):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=n())}(window,(function(){return function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,\"a\",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p=\"/dist/\",r(r.s=11)}([function(t,n,r){\"use strict\";function e(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var r=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==r)return;var e,o,i=[],a=!0,c=!1;try{for(r=r.call(t);!(a=(e=r.next()).done)&&(i.push(e.value),!n||i.length!==n);a=!0);}catch(t){c=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r<n;r++)e[r]=t[r];return e}t.exports=function(t){var n=e(t,4),r=n[1],o=n[3];if(!o)return r;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=o.sources.map((function(t){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(t,\" */\")}));return[r].concat(l).concat([c]).join(\"\\n\")}return[r].join(\"\\n\")}},function(t,n,r){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var r=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(r,\"}\"):r})).join(\"\")},n.i=function(t,r,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var o={};if(e)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);e&&o[l[0]]||(r&&(l[2]?l[2]=\"\".concat(r,\" and \").concat(l[2]):l[2]=r),n.push(l))}},n}},function(t,n,r){\"use strict\";var e,o=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},i=function(){var t={};return function(n){if(void 0===t[n]){var r=document.querySelector(n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[n]=r}return t[n]}}(),a=[];function c(t){for(var n=-1,r=0;r<a.length;r++)if(a[r].identifier===t){n=r;break}return n}function l(t,n){for(var r={},e=[],o=0;o<t.length;o++){var i=t[o],l=n.base?i[0]+n.base:i[0],s=r[l]||0,p=\"\".concat(l,\" \").concat(s);r[l]=s+1;var d=c(p),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:p,updater:h(u,n),references:1}),e.push(p)}return e}function s(t){var n=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var o=r.nc;o&&(e.nonce=o)}if(Object.keys(e).forEach((function(t){n.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var p,d=(p=[],function(t,n){return p[t]=n,p.filter(Boolean).join(\"\\n\")});function u(t,n,r,e){var o=r?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(n,o);else{var i=document.createTextNode(o),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(i,a[n]):t.appendChild(i)}}function A(t,n,r){var e=r.css,o=r.media,i=r.sourceMap;if(o?t.setAttribute(\"media\",o):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var f=null,C=0;function h(t,n){var r,e,o;if(n.singleton){var i=C++;r=f||(f=s(n)),e=u.bind(null,r,i,!1),o=u.bind(null,r,i,!0)}else r=s(n),e=A.bind(null,r,n),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else o()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=o());var r=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<r.length;e++){var o=c(r[e]);a[o].references--}for(var i=l(t,n),s=0;s<r.length;s++){var p=c(r[s]);0===a[p].references&&(a[p].updater(),a.splice(p,1))}r=i}}}},,,function(t,n){t.exports=require(\"v-tooltip\")},,,,,,function(t,n,r){\"use strict\";r.r(n);var e=r(5),o=r(2),i=r.n(o),a=r(12),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1,e.VTooltip.options.defaultDelay={show:500,hide:200};n.default=e.VTooltip},function(t,n,r){\"use strict\";var e=r(0),o=r.n(e),i=r(1),a=r.n(i)()(o.a);a.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=a}])}));\n//# sourceMappingURL=Tooltip.js.map","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\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","module.exports = {};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=e||self)[\"v-click-outside\"]=n()}(this,function(){var e=\"undefined\"!=typeof window,n=\"undefined\"!=typeof navigator,t=e&&(\"ontouchstart\"in window||n&&navigator.msMaxTouchPoints>0)?[\"touchstart\"]:[\"click\"];function i(e){var n=e.event,t=e.handler;(0,e.middleware)(n)&&t(n)}function r(e,n){var r=function(e){var n=\"function\"==typeof e;if(!n&&\"object\"!=typeof e)throw new Error(\"v-click-outside: Binding value must be a function or an object\");return{handler:n?e:e.handler,middleware:e.middleware||function(e){return e},events:e.events||t,isActive:!(!1===e.isActive),detectIframe:!(!1===e.detectIframe)}}(n.value),d=r.handler,o=r.middleware,a=r.detectIframe;if(r.isActive){if(e[\"__v-click-outside\"]=r.events.map(function(n){return{event:n,srcTarget:document.documentElement,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware,o=t.path||t.composedPath&&t.composedPath();(o?o.indexOf(n)<0:!n.contains(t.target))&&i({event:t,handler:r,middleware:d})}({el:e,event:n,handler:d,middleware:o})}}}),a){var c={event:\"blur\",srcTarget:window,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware;setTimeout(function(){var e=document.activeElement;e&&\"IFRAME\"===e.tagName&&!n.contains(e)&&i({event:t,handler:r,middleware:d})},0)}({el:e,event:n,handler:d,middleware:o})}};e[\"__v-click-outside\"]=[].concat(e[\"__v-click-outside\"],[c])}e[\"__v-click-outside\"].forEach(function(n){var t=n.event,i=n.srcTarget,r=n.handler;return setTimeout(function(){e[\"__v-click-outside\"]&&i.addEventListener(t,r,!1)},0)})}}function d(e){(e[\"__v-click-outside\"]||[]).forEach(function(e){return e.srcTarget.removeEventListener(e.event,e.handler,!1)}),delete e[\"__v-click-outside\"]}var o=e?{bind:r,update:function(e,n){var t=n.value,i=n.oldValue;JSON.stringify(t)!==JSON.stringify(i)&&(d(e),r(e,{value:t}))},unbind:d}:{};return{install:function(e){e.directive(\"click-outside\",o)},directive:o}});\n//# sourceMappingURL=v-click-outside.umd.js.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '<!-') {\n state = STATE_COMMENT;\n }\n\n tag_buffer += char;\n break;\n\n case ' ':\n case '\\n':\n if (tag_buffer === '<') {\n state = STATE_PLAINTEXT;\n output += '< ';\n tag_buffer = '';\n\n break;\n }\n\n tag_buffer += char;\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n\n else if (state === STATE_COMMENT) {\n switch (char) {\n case '>':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","module.exports = require('./lib/linkify-string').default;\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCapabilities = getCapabilities;\n\nvar _initialState = require(\"@nextcloud/initial-state\");\n\nfunction getCapabilities() {\n try {\n return (0, _initialState.loadState)('core', 'capabilities');\n } catch (error) {\n console.debug('Could not find capabilities initial state fall back to _oc_capabilities');\n\n if (!('_oc_capabilities' in window)) {\n return {};\n }\n\n return window['_oc_capabilities'];\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBuilder = getBuilder;\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\n\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(function (k) {\n return pred ? pred(k) : true;\n }).map(storage.removeItem.bind(storage));\n}\n\nfunction clearAll() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s);\n });\n}\n\nfunction clearNonPersistent() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s, function (k) {\n return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);\n });\n });\n}\n//# sourceMappingURL=index.js.map","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadState = loadState;\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = input[TO_PRIMITIVE];\n var result;\n if (exoticToPrim !== undefined) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n props: {\n title: {\n type: String,\n default: \"Dots Horizontal icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=079a5c9e&functional=true&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionText\",[],n):\"object\"==typeof exports?exports[\"Components/ActionText\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionText\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=209)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},135:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-90adea72]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-90adea72]{background-color:var(--color-background-hover)}.action-text[data-v-90adea72]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-90adea72]:hover,.action-text[data-v-90adea72]:focus{opacity:1}.action-text>span[data-v-90adea72]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-90adea72]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-90adea72] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-90adea72] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-90adea72]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-90adea72]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-90adea72]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-90adea72]{pointer-events:none;opacity:.5}.action--disabled[data-v-90adea72]:hover,.action--disabled[data-v-90adea72]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-90adea72]{opacity:1 !important}.action-text[data-v-90adea72],.action-text span[data-v-90adea72]{cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEyCxB,iEAGE,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=r},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:C(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function C(t,n){var e,o,i;if(n.singleton){var a=A++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},209:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionText\",mixins:[e(32).a]},i=e(2),a=e.n(i),r=e(135),c={insert:\"head\",singleton:!1},s=(a()(r.a,c),r.a.locals,e(3)),l=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:t.onClick}},[t._t(\"icon\",[\"\"!==t.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[t.isIconUrl?\"action-text__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}):t._e()]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"90adea72\",null).exports;n.default=l},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionText.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionCheckbox\",[],n):\"object\"==typeof exports?exports[\"Components/ActionCheckbox\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionCheckbox\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=205)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},128:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-395fa6ac]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-395fa6ac]{background-color:var(--color-background-hover)}.action--disabled[data-v-395fa6ac]{pointer-events:none;opacity:.5}.action--disabled[data-v-395fa6ac]:hover,.action--disabled[data-v-395fa6ac]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-395fa6ac]{opacity:1 !important}.action-checkbox[data-v-395fa6ac]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-395fa6ac]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-395fa6ac]{opacity:1}.action-checkbox__label[data-v-395fa6ac]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-395fa6ac]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-395fa6ac],.action-checkbox--disabled .action-checkbox__label[data-v-395fa6ac]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-395fa6ac],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-395fa6ac]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEiHxB,kCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDnJoB,CCsJpB,4CACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,0EAUC,SD7Ia,CC8Ib,yCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD1JiB,CCkJjB,iDAYC,0BAA2B,CAC3B,gHAMA,cAAe,CAvDlB,gMA8DG,SD3Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},129:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(f)):r.push({identifier:u,updater:m(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function p(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=f.bind(null,e,a,!1),i=f.bind(null,e,a,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},205:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionCheckbox\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",t),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},r=e(2),c=e.n(r),s=e(128),l={insert:\"head\",singleton:!1},u=(c()(s.a,l),s.a.locals,e(3)),d=e(129),f=e.n(d),p=Object(u.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,type:\"checkbox\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.checkInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"395fa6ac\",null);\"function\"==typeof f.a&&f()(p);var h=p.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionCheckbox.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionInput\",[],n):\"object\"==typeof exports?exports[\"Components/ActionInput\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionInput\"]=n())}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=206)}([function(t,n,e){\"use strict\";function r(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var r,i,a=[],o=!0,T=!1;try{for(e=e.call(t);!(o=(r=e.next()).done)&&(a.push(r.value),!n||a.length!==n);o=!0);}catch(t){T=!0,i=t}finally{try{o||null==e.return||e.return()}finally{if(T)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}t.exports=function(t){var n=r(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),T=\"/*# \".concat(o,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([T]).join(\"\\n\")}return[e].join(\"\\n\")}},function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,r){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(r)for(var a=0;a<this.length;a++){var o=this[a][0];null!=o&&(i[o]=!0)}for(var T=0;T<t.length;T++){var l=[].concat(t[T]);r&&i[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},function(t,n,e){\"use strict\";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),o=[];function T(t){for(var n=-1,e=0;e<o.length;e++)if(o[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},r=[],i=0;i<t.length;i++){var a=t[i],l=n.base?a[0]+n.base:a[0],s=e[l]||0,A=\"\".concat(l,\" \").concat(s);e[l]=s+1;var c=T(A),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==c?(o[c].references++,o[c].updater(d)):o.push({identifier:A,updater:p(d,n),references:1}),r.push(A)}return r}function s(t){var n=document.createElement(\"style\"),r=t.attributes||{};if(void 0===r.nonce){var i=e.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(t){n.setAttribute(t,r[t])})),\"function\"==typeof t.insert)t.insert(n);else{var o=a(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(n)}return n}var A,c=(A=[],function(t,n){return A[t]=n,A.filter(Boolean).join(\"\\n\")});function d(t,n,e,r){var i=e?\"\":r.media?\"@media \".concat(r.media,\" {\").concat(r.css,\"}\"):r.css;if(t.styleSheet)t.styleSheet.cssText=c(n,i);else{var a=document.createTextNode(i),o=t.childNodes;o[n]&&t.removeChild(o[n]),o.length?t.insertBefore(a,o[n]):t.appendChild(a)}}function u(t,n,e){var r=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var E=null,m=0;function p(t,n){var e,r,i;if(n.singleton){var a=m++;e=E||(E=s(n)),r=d.bind(null,e,a,!1),i=d.bind(null,e,a,!0)}else e=s(n),r=u.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return r(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;r(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var r=0;r<e.length;r++){var i=T(e[r]);o[i].references--}for(var a=l(t,n),s=0;s<e.length;s++){var A=T(e[s]);0===o[A].references&&(o[A].updater(),o.splice(A,1))}e=a}}}},function(t,n,e){\"use strict\";function r(t,n,e,r,i,a,o,T){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId=\"data-v-\"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},s._ssrRegister=l):i&&(l=T?function(){i.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(s.functional){s._injectStyles=l;var A=s.render;s.render=function(t,n){return l.call(n),A(t,n)}}else{var c=s.beforeCreate;s.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return r}))},function(t,n,e){\"use strict\";e.d(n,\"b\",(function(){return T})),e.d(n,\"a\",(function(){return o}));var r=e(13),i=Object(r.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var n={};for(var e in t.translations)t.translations[e].pluralId?n[e]={msgid:e,msgid_plural:t.translations[e].pluralId,msgstr:t.translations[e].msgstr}:n[e]={msgid:e,msgstr:[t.translations[e]]};i.addTranslation(t.locale,{translations:{\"\":n}})}));var a=i.build(),o=a.ngettext.bind(a),T=a.gettext.bind(a)},function(t,n){t.exports=require(\"v-tooltip\")},function(t,n){t.exports=require(\"vue\")},function(t,n){t.exports=require(\"@nextcloud/router\")},function(t,n,e){\"use strict\";t.exports=function(t,n){return n||(n={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/[\"'() \\t\\n]/.test(t)||n.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";e.r(n);var r=e(5),i=e(2),a=e.n(i),o=e(12),T={insert:\"head\",singleton:!1};a()(o.a,T),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nr.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200};n.default=r.VTooltip},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,n,e){\"use strict\";var r={name:\"Popover\",components:{VPopover:e(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=e(2),a=e.n(i),o=e(9),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(3)),s=e(10),A=e.n(s),c=Object(l.a)(r,(function(){var t=this,n=t.$createElement;return(t._self._c||n)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof A.a&&A()(c);n.a=c.exports},function(t,n){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,n){t.exports=require(\"@nextcloud/event-bus\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},function(t,n){t.exports=require(\"@nextcloud/auth\")},function(t,n,e){\"use strict\";e.r(n);var r=e(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=r.a},function(t,n,e){\"use strict\";e.r(n);var r=e(6),i=new(e.n(r).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});n.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,n){t.exports=require(\"@nextcloud/axios\")},function(t,n,e){\"use strict\";var r=e(4);n.a={methods:{n:r.a,t:r.b}}},,function(t,n,e){\"use strict\";e.d(n,\"a\",(function(){return r.default})),e.d(n,\"b\",(function(){return i.default})),e.d(n,\"c\",(function(){return a.default})),e.d(n,\"d\",(function(){return o.default})),e.d(n,\"e\",(function(){return u}));var r=e(47),i=e(48),a=e(20),o=e(39),T=e(21),l=e.n(T),s=e(7),A=e(57),c=e(18);function d(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var u={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var r,i,a,o,T,d,u,E,m;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t){n.next=2;break}return n.abrupt(\"return\");case 2:if(r=Object(A.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){n.next=5;break}return n.abrupt(\"return\");case 5:if(Object(c.getCurrentUser)()){n.next=7;break}return n.abrupt(\"return\");case 7:return n.prev=7,n.next=10,l.a.get(Object(s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=n.sent,a=i.data,o=a.ocs.data,T=o.status,d=o.message,u=o.icon,e.userStatus.status=T,e.userStatus.message=d||\"\",e.userStatus.icon=u||\"\",e.hasStatus=!0,n.next=24;break;case 19:if(n.prev=19,n.t0=n.catch(7),404!==n.t0.response.status||0!==(null===(E=n.t0.response.data.ocs)||void 0===E||null===(m=E.data)||void 0===m?void 0:m.length)){n.next=23;break}return n.abrupt(\"return\");case 23:console.error(n.t0);case 24:case\"end\":return n.stop()}}),n,null,[[7,19]])})),function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(t){d(a,r,i,o,T,\"next\",t)}function T(t){d(a,r,i,o,T,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,n){t.exports=require(\"striptags\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(6),i=e.n(r);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(t,n){t.exports=require(\"v-click-outside\")},,,function(t,n){t.exports=require(\"linkifyjs/string\")},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t,n){for(var e=[],r=0,i=t.toLowerCase().indexOf(n.toLowerCase(),r),a=0;i>-1&&a<t.length;)r=i+n.length,e.push({start:i,end:r}),i=t.toLowerCase().indexOf(n.toLowerCase(),i+1),a++;return e}},function(t,n,e){\"use strict\";e.r(n),e.d(n,\"USERID_REGEX\",(function(){return g})),e.d(n,\"USERID_REGEX_WITH_SPACE\",(function(){return N}));var r=e(43),i=e.n(r),a=e(31),o=e.n(a),T=e(25),l=e.n(T),s=e(6),A=e.n(s),c=e(7),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,n){return Object(c.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}},u=e(2),E=e.n(u),m=e(26),p={insert:\"head\",singleton:!1},D=(E()(m.a,p),m.a.locals,e(3)),S=Object(D.a)(d,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,g=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),N=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");n.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var n=this;return i()(t).split(g).map((function(t){return t.split(N)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var e=t.replace(/@|&quot;/gi,\"\");return\" \"+n.genSelectTemplate(e)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var n=t.replace(/<br>/gim,\"\\n\");return n=(n=(n=n.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),n=l()(n,\"<div>\"),n=l()(n)},genSelectTemplate:function(t){var n=this.userData[t];return n?this.renderComponentHtml(n,S).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,n){var e=new(A.a.extend(n))({propsData:t}),r=document.createElement(\"div\"),i=document.createElement(\"div\");r.style.display=\"none\",r.appendChild(i),document.body.appendChild(r),e.$mount(i);var a=r.innerHTML;return e.$destroy(),r.remove(),a}}}},function(t,n,e){\"use strict\";e.r(n);var r=e(38);function i(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function a(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?i(Object(e),!0).forEach((function(n){o(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):i(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}function o(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var T={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,n=[];return this.search||0!==this.highlight.length?(n=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search),n.reduce((function(n,e){return e.start<t.text.length&&e.end>0&&n.push({start:e.start<0?0:e.start,end:e.end>t.text.length?t.text.length:e.end}),n}),[])):n},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],n=0,e=0;n<this.text.length;){var r=this.ranges[e];r.start!==n?(t.push({start:n,end:r.start,highlight:!1,text:this.text.substr(n,r.start-n)}),n=r.start):(t.push(a(a({},r),{},{highlight:!0,text:this.text.substr(r.start,r.end-r.start)})),e++,n=r.end,e>=this.ranges.length&&n<this.text.length&&(t.push({start:n,end:this.text.length,highlight:!1,text:this.text.substr(n,this.text.length-n)}),n=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(n){return n.highlight?t(\"strong\",{},n.text):n.text}))):t(\"span\",{},this.text)}},l=e(3),s=e(45),A=e.n(s),c=Object(l.a)(T,void 0,void 0,!1,null,null,null);\"function\"==typeof A.a&&A()(c);var d=c.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=d},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(50),A=e(51),c=e(52),d=o()(i.a),u=l()(s.a),E=l()(A.a),m=l()(c.a);d.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+u+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+E+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=d},function(t,n){},function(t,n){t.exports=require(\"escape-html\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function r(t,n,e){this.r=t,this.g=n,this.b=e}function i(t,n,e){var i=[];i.push(n);for(var a=function(t,n){var e=new Array(3);return e[0]=(n[1].r-n[0].r)/t,e[1]=(n[1].g-n[0].g)/t,e[2]=(n[1].b-n[0].b)/t,e}(t,[n,e]),o=1;o<t;o++){var T=parseInt(n.r+a[0]*o,10),l=parseInt(n.g+a[1]*o,10),s=parseInt(n.b+a[2]*o,10);i.push(new r(T,l,s))}return i}n.a=function(t){t||(t=6);var n=new r(182,70,157),e=new r(221,203,85),a=new r(0,130,201),o=i(t,n,e),T=i(t,e,a),l=i(t,a,n);return o.concat(T).concat(l)}},function(t,n){},function(t){t.exports=JSON.parse('{\"version\":\"2.2019c\",\"aliases\":{\"AUS Central Standard Time\":{\"aliasTo\":\"Australia/Darwin\"},\"AUS Eastern Standard Time\":{\"aliasTo\":\"Australia/Sydney\"},\"Afghanistan Standard Time\":{\"aliasTo\":\"Asia/Kabul\"},\"Africa/Asmera\":{\"aliasTo\":\"Africa/Asmara\"},\"Africa/Timbuktu\":{\"aliasTo\":\"Africa/Bamako\"},\"Alaskan Standard Time\":{\"aliasTo\":\"America/Anchorage\"},\"America/Argentina/ComodRivadavia\":{\"aliasTo\":\"America/Argentina/Catamarca\"},\"America/Buenos_Aires\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"America/Louisville\":{\"aliasTo\":\"America/Kentucky/Louisville\"},\"America/Montreal\":{\"aliasTo\":\"America/Toronto\"},\"America/Santa_Isabel\":{\"aliasTo\":\"America/Tijuana\"},\"Arab Standard Time\":{\"aliasTo\":\"Asia/Riyadh\"},\"Arabian Standard Time\":{\"aliasTo\":\"Asia/Dubai\"},\"Arabic Standard Time\":{\"aliasTo\":\"Asia/Baghdad\"},\"Argentina Standard Time\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"Asia/Calcutta\":{\"aliasTo\":\"Asia/Kolkata\"},\"Asia/Katmandu\":{\"aliasTo\":\"Asia/Kathmandu\"},\"Asia/Rangoon\":{\"aliasTo\":\"Asia/Yangon\"},\"Asia/Saigon\":{\"aliasTo\":\"Asia/Ho_Chi_Minh\"},\"Atlantic Standard Time\":{\"aliasTo\":\"America/Halifax\"},\"Atlantic/Faeroe\":{\"aliasTo\":\"Atlantic/Faroe\"},\"Atlantic/Jan_Mayen\":{\"aliasTo\":\"Europe/Oslo\"},\"Azerbaijan Standard Time\":{\"aliasTo\":\"Asia/Baku\"},\"Azores Standard Time\":{\"aliasTo\":\"Atlantic/Azores\"},\"Bahia Standard Time\":{\"aliasTo\":\"America/Bahia\"},\"Bangladesh Standard Time\":{\"aliasTo\":\"Asia/Dhaka\"},\"Belarus Standard Time\":{\"aliasTo\":\"Europe/Minsk\"},\"Canada Central Standard Time\":{\"aliasTo\":\"America/Regina\"},\"Cape Verde Standard Time\":{\"aliasTo\":\"Atlantic/Cape_Verde\"},\"Caucasus Standard Time\":{\"aliasTo\":\"Asia/Yerevan\"},\"Cen. Australia Standard Time\":{\"aliasTo\":\"Australia/Adelaide\"},\"Central America Standard Time\":{\"aliasTo\":\"America/Guatemala\"},\"Central Asia Standard Time\":{\"aliasTo\":\"Asia/Almaty\"},\"Central Brazilian Standard Time\":{\"aliasTo\":\"America/Cuiaba\"},\"Central Europe Standard Time\":{\"aliasTo\":\"Europe/Budapest\"},\"Central European Standard Time\":{\"aliasTo\":\"Europe/Warsaw\"},\"Central Pacific Standard Time\":{\"aliasTo\":\"Pacific/Guadalcanal\"},\"Central Standard Time\":{\"aliasTo\":\"America/Chicago\"},\"Central Standard Time (Mexico)\":{\"aliasTo\":\"America/Mexico_City\"},\"China Standard Time\":{\"aliasTo\":\"Asia/Shanghai\"},\"E. Africa Standard Time\":{\"aliasTo\":\"Africa/Nairobi\"},\"E. Australia Standard Time\":{\"aliasTo\":\"Australia/Brisbane\"},\"E. South America Standard Time\":{\"aliasTo\":\"America/Sao_Paulo\"},\"Eastern Standard Time\":{\"aliasTo\":\"America/New_York\"},\"Egypt Standard Time\":{\"aliasTo\":\"Africa/Cairo\"},\"Ekaterinburg Standard Time\":{\"aliasTo\":\"Asia/Yekaterinburg\"},\"Etc/GMT\":{\"aliasTo\":\"UTC\"},\"Etc/GMT+0\":{\"aliasTo\":\"UTC\"},\"Etc/UCT\":{\"aliasTo\":\"UTC\"},\"Etc/UTC\":{\"aliasTo\":\"UTC\"},\"Etc/Unversal\":{\"aliasTo\":\"UTC\"},\"Etc/Zulu\":{\"aliasTo\":\"UTC\"},\"Europe/Belfast\":{\"aliasTo\":\"Europe/London\"},\"FLE Standard Time\":{\"aliasTo\":\"Europe/Kiev\"},\"Fiji Standard Time\":{\"aliasTo\":\"Pacific/Fiji\"},\"GMT\":{\"aliasTo\":\"UTC\"},\"GMT Standard Time\":{\"aliasTo\":\"Europe/London\"},\"GMT+0\":{\"aliasTo\":\"UTC\"},\"GMT0\":{\"aliasTo\":\"UTC\"},\"GTB Standard Time\":{\"aliasTo\":\"Europe/Bucharest\"},\"Georgian Standard Time\":{\"aliasTo\":\"Asia/Tbilisi\"},\"Greenland Standard Time\":{\"aliasTo\":\"America/Godthab\"},\"Greenwich\":{\"aliasTo\":\"UTC\"},\"Greenwich Standard Time\":{\"aliasTo\":\"Atlantic/Reykjavik\"},\"Hawaiian Standard Time\":{\"aliasTo\":\"Pacific/Honolulu\"},\"India Standard Time\":{\"aliasTo\":\"Asia/Calcutta\"},\"Iran Standard Time\":{\"aliasTo\":\"Asia/Tehran\"},\"Israel Standard Time\":{\"aliasTo\":\"Asia/Jerusalem\"},\"Jordan Standard Time\":{\"aliasTo\":\"Asia/Amman\"},\"Kaliningrad Standard Time\":{\"aliasTo\":\"Europe/Kaliningrad\"},\"Korea Standard Time\":{\"aliasTo\":\"Asia/Seoul\"},\"Libya Standard Time\":{\"aliasTo\":\"Africa/Tripoli\"},\"Line Islands Standard Time\":{\"aliasTo\":\"Pacific/Kiritimati\"},\"Magadan Standard Time\":{\"aliasTo\":\"Asia/Magadan\"},\"Mauritius Standard Time\":{\"aliasTo\":\"Indian/Mauritius\"},\"Middle East Standard Time\":{\"aliasTo\":\"Asia/Beirut\"},\"Montevideo Standard Time\":{\"aliasTo\":\"America/Montevideo\"},\"Morocco Standard Time\":{\"aliasTo\":\"Africa/Casablanca\"},\"Mountain Standard Time\":{\"aliasTo\":\"America/Denver\"},\"Mountain Standard Time (Mexico)\":{\"aliasTo\":\"America/Chihuahua\"},\"Myanmar Standard Time\":{\"aliasTo\":\"Asia/Rangoon\"},\"N. Central Asia Standard Time\":{\"aliasTo\":\"Asia/Novosibirsk\"},\"Namibia Standard Time\":{\"aliasTo\":\"Africa/Windhoek\"},\"Nepal Standard Time\":{\"aliasTo\":\"Asia/Katmandu\"},\"New Zealand Standard Time\":{\"aliasTo\":\"Pacific/Auckland\"},\"Newfoundland Standard Time\":{\"aliasTo\":\"America/St_Johns\"},\"North Asia East Standard Time\":{\"aliasTo\":\"Asia/Irkutsk\"},\"North Asia Standard Time\":{\"aliasTo\":\"Asia/Krasnoyarsk\"},\"Pacific SA Standard Time\":{\"aliasTo\":\"America/Santiago\"},\"Pacific Standard Time\":{\"aliasTo\":\"America/Los_Angeles\"},\"Pacific Standard Time (Mexico)\":{\"aliasTo\":\"America/Santa_Isabel\"},\"Pacific/Johnston\":{\"aliasTo\":\"Pacific/Honolulu\"},\"Pakistan Standard Time\":{\"aliasTo\":\"Asia/Karachi\"},\"Paraguay Standard Time\":{\"aliasTo\":\"America/Asuncion\"},\"Romance Standard Time\":{\"aliasTo\":\"Europe/Paris\"},\"Russia Time Zone 10\":{\"aliasTo\":\"Asia/Srednekolymsk\"},\"Russia Time Zone 11\":{\"aliasTo\":\"Asia/Kamchatka\"},\"Russia Time Zone 3\":{\"aliasTo\":\"Europe/Samara\"},\"Russian Standard Time\":{\"aliasTo\":\"Europe/Moscow\"},\"SA Eastern Standard Time\":{\"aliasTo\":\"America/Cayenne\"},\"SA Pacific Standard Time\":{\"aliasTo\":\"America/Bogota\"},\"SA Western Standard Time\":{\"aliasTo\":\"America/La_Paz\"},\"SE Asia Standard Time\":{\"aliasTo\":\"Asia/Bangkok\"},\"Samoa Standard Time\":{\"aliasTo\":\"Pacific/Apia\"},\"Singapore Standard Time\":{\"aliasTo\":\"Asia/Singapore\"},\"South Africa Standard Time\":{\"aliasTo\":\"Africa/Johannesburg\"},\"Sri Lanka Standard Time\":{\"aliasTo\":\"Asia/Colombo\"},\"Syria Standard Time\":{\"aliasTo\":\"Asia/Damascus\"},\"Taipei Standard Time\":{\"aliasTo\":\"Asia/Taipei\"},\"Tasmania Standard Time\":{\"aliasTo\":\"Australia/Hobart\"},\"Tokyo Standard Time\":{\"aliasTo\":\"Asia/Tokyo\"},\"Tonga Standard Time\":{\"aliasTo\":\"Pacific/Tongatapu\"},\"Turkey Standard Time\":{\"aliasTo\":\"Europe/Istanbul\"},\"UCT\":{\"aliasTo\":\"UTC\"},\"US Eastern Standard Time\":{\"aliasTo\":\"America/Indiana/Indianapolis\"},\"US Mountain Standard Time\":{\"aliasTo\":\"America/Phoenix\"},\"US/Central\":{\"aliasTo\":\"America/Chicago\"},\"US/Eastern\":{\"aliasTo\":\"America/New_York\"},\"US/Mountain\":{\"aliasTo\":\"America/Denver\"},\"US/Pacific\":{\"aliasTo\":\"America/Los_Angeles\"},\"US/Pacific-New\":{\"aliasTo\":\"America/Los_Angeles\"},\"Ulaanbaatar Standard Time\":{\"aliasTo\":\"Asia/Ulaanbaatar\"},\"Universal\":{\"aliasTo\":\"UTC\"},\"Venezuela Standard Time\":{\"aliasTo\":\"America/Caracas\"},\"Vladivostok Standard Time\":{\"aliasTo\":\"Asia/Vladivostok\"},\"W. Australia Standard Time\":{\"aliasTo\":\"Australia/Perth\"},\"W. Central Africa Standard Time\":{\"aliasTo\":\"Africa/Lagos\"},\"W. Europe Standard Time\":{\"aliasTo\":\"Europe/Berlin\"},\"West Asia Standard Time\":{\"aliasTo\":\"Asia/Tashkent\"},\"West Pacific Standard Time\":{\"aliasTo\":\"Pacific/Port_Moresby\"},\"Yakutsk Standard Time\":{\"aliasTo\":\"Asia/Yakutsk\"},\"Z\":{\"aliasTo\":\"UTC\"},\"Zulu\":{\"aliasTo\":\"UTC\"},\"utc\":{\"aliasTo\":\"UTC\"}},\"zones\":{\"Africa/Abidjan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"-0040200\"},\"Africa/Accra\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0053300\",\"longitude\":\"+0001300\"},\"Africa/Addis_Ababa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090200\",\"longitude\":\"+0384200\"},\"Africa/Algiers\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364700\",\"longitude\":\"+0030300\"},\"Africa/Asmara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0152000\",\"longitude\":\"+0385300\"},\"Africa/Bamako\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123900\",\"longitude\":\"-0080000\"},\"Africa/Bangui\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0042200\",\"longitude\":\"+0183500\"},\"Africa/Banjul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"-0163900\"},\"Africa/Bissau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0115100\",\"longitude\":\"-0153500\"},\"Africa/Blantyre\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0154700\",\"longitude\":\"+0350000\"},\"Africa/Brazzaville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041600\",\"longitude\":\"+0151700\"},\"Africa/Bujumbura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0032300\",\"longitude\":\"+0292200\"},\"Africa/Cairo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0300300\",\"longitude\":\"+0311500\"},\"Africa/Casablanca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333900\",\"longitude\":\"-0073500\"},\"Africa/Ceuta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355300\",\"longitude\":\"-0051900\"},\"Africa/Conakry\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0093100\",\"longitude\":\"-0134300\"},\"Africa/Dakar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0144000\",\"longitude\":\"-0172600\"},\"Africa/Dar_es_Salaam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064800\",\"longitude\":\"+0391700\"},\"Africa/Djibouti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113600\",\"longitude\":\"+0430900\"},\"Africa/Douala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0040300\",\"longitude\":\"+0094200\"},\"Africa/El_Aaiun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0270900\",\"longitude\":\"-0131200\"},\"Africa/Freetown\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0083000\",\"longitude\":\"-0131500\"},\"Africa/Gaborone\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0243900\",\"longitude\":\"+0255500\"},\"Africa/Harare\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0175000\",\"longitude\":\"+0310300\"},\"Africa/Johannesburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261500\",\"longitude\":\"+0280000\"},\"Africa/Juba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045100\",\"longitude\":\"+0313700\"},\"Africa/Kampala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0001900\",\"longitude\":\"+0322500\"},\"Africa/Khartoum\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0153600\",\"longitude\":\"+0323200\"},\"Africa/Kigali\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0015700\",\"longitude\":\"+0300400\"},\"Africa/Kinshasa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041800\",\"longitude\":\"+0151800\"},\"Africa/Lagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062700\",\"longitude\":\"+0032400\"},\"Africa/Libreville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002300\",\"longitude\":\"+0092700\"},\"Africa/Lome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0060800\",\"longitude\":\"+0011300\"},\"Africa/Luanda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084800\",\"longitude\":\"+0131400\"},\"Africa/Lubumbashi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114000\",\"longitude\":\"+0272800\"},\"Africa/Lusaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0152500\",\"longitude\":\"+0281700\"},\"Africa/Malabo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0034500\",\"longitude\":\"+0084700\"},\"Africa/Maputo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0255800\",\"longitude\":\"+0323500\"},\"Africa/Maseru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292800\",\"longitude\":\"+0273000\"},\"Africa/Mbabane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261800\",\"longitude\":\"+0310600\"},\"Africa/Mogadishu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0020400\",\"longitude\":\"+0452200\"},\"Africa/Monrovia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0061800\",\"longitude\":\"-0104700\"},\"Africa/Nairobi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0011700\",\"longitude\":\"+0364900\"},\"Africa/Ndjamena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120700\",\"longitude\":\"+0150300\"},\"Africa/Niamey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0133100\",\"longitude\":\"+0020700\"},\"Africa/Nouakchott\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180600\",\"longitude\":\"-0155700\"},\"Africa/Ouagadougou\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0122200\",\"longitude\":\"-0013100\"},\"Africa/Porto-Novo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062900\",\"longitude\":\"+0023700\"},\"Africa/Sao_Tome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:20180101T010000\\\\r\\\\nRDATE:20180101T010000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:20190101T020000\\\\r\\\\nRDATE:20190101T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002000\",\"longitude\":\"+0064400\"},\"Africa/Tripoli\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0325400\",\"longitude\":\"+0131100\"},\"Africa/Tunis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364800\",\"longitude\":\"+0101100\"},\"Africa/Windhoek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0223400\",\"longitude\":\"+0170600\"},\"America/Adak\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:HDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0515248\",\"longitude\":\"-1763929\"},\"America/Anchorage\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0611305\",\"longitude\":\"-1495401\"},\"America/Anguilla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0181200\",\"longitude\":\"-0630400\"},\"America/Antigua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0170300\",\"longitude\":\"-0614800\"},\"America/Araguaina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0071200\",\"longitude\":\"-0481200\"},\"America/Argentina/Buenos_Aires\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0343600\",\"longitude\":\"-0582700\"},\"America/Argentina/Catamarca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0282800\",\"longitude\":\"-0654700\"},\"America/Argentina/Cordoba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0312400\",\"longitude\":\"-0641100\"},\"America/Argentina/Jujuy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0241100\",\"longitude\":\"-0651800\"},\"America/Argentina/La_Rioja\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292600\",\"longitude\":\"-0665100\"},\"America/Argentina/Mendoza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0325300\",\"longitude\":\"-0684900\"},\"America/Argentina/Rio_Gallegos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0513800\",\"longitude\":\"-0691300\"},\"America/Argentina/Salta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0244700\",\"longitude\":\"-0652500\"},\"America/Argentina/San_Juan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0313200\",\"longitude\":\"-0683100\"},\"America/Argentina/San_Luis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0331900\",\"longitude\":\"-0662100\"},\"America/Argentina/Tucuman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0264900\",\"longitude\":\"-0651300\"},\"America/Argentina/Ushuaia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0544800\",\"longitude\":\"-0681800\"},\"America/Aruba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123000\",\"longitude\":\"-0695800\"},\"America/Asuncion\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701004T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700322T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0251600\",\"longitude\":\"-0574000\"},\"America/Atikokan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484531\",\"longitude\":\"-0913718\"},\"America/Bahia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0125900\",\"longitude\":\"-0383100\"},\"America/Bahia_Banderas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0204800\",\"longitude\":\"-1051500\"},\"America/Barbados\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130600\",\"longitude\":\"-0593700\"},\"America/Belem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0012700\",\"longitude\":\"-0482900\"},\"America/Belize\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0173000\",\"longitude\":\"-0881200\"},\"America/Blanc-Sablon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0512500\",\"longitude\":\"-0570700\"},\"America/Boa_Vista\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0024900\",\"longitude\":\"-0604000\"},\"America/Bogota\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0043600\",\"longitude\":\"-0740500\"},\"America/Boise\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433649\",\"longitude\":\"-1161209\"},\"America/Cambridge_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0690650\",\"longitude\":\"-1050310\"},\"America/Campo_Grande\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0202700\",\"longitude\":\"-0543700\"},\"America/Cancun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0210500\",\"longitude\":\"-0864600\"},\"America/Caracas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103000\",\"longitude\":\"-0665600\"},\"America/Cayenne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"-0522000\"},\"America/Cayman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191800\",\"longitude\":\"-0812300\"},\"America/Chicago\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415100\",\"longitude\":\"-0873900\"},\"America/Chihuahua\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0283800\",\"longitude\":\"-1060500\"},\"America/Costa_Rica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0095600\",\"longitude\":\"-0840500\"},\"America/Creston\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490600\",\"longitude\":\"-1163100\"},\"America/Cuiaba\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0153500\",\"longitude\":\"-0560500\"},\"America/Curacao\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0121100\",\"longitude\":\"-0690000\"},\"America/Danmarkshavn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0764600\",\"longitude\":\"-0184000\"},\"America/Dawson\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640400\",\"longitude\":\"-1392500\"},\"America/Dawson_Creek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0594600\",\"longitude\":\"-1201400\"},\"America/Denver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394421\",\"longitude\":\"-1045903\"},\"America/Detroit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0421953\",\"longitude\":\"-0830245\"},\"America/Dominica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151800\",\"longitude\":\"-0612400\"},\"America/Edmonton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0533300\",\"longitude\":\"-1132800\"},\"America/Eirunepe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064000\",\"longitude\":\"-0695200\"},\"America/El_Salvador\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134200\",\"longitude\":\"-0891200\"},\"America/Fort_Nelson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0584800\",\"longitude\":\"-1224200\"},\"America/Fortaleza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0034300\",\"longitude\":\"-0383000\"},\"America/Glace_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0461200\",\"longitude\":\"-0595700\"},\"America/Godthab\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700328T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701024T230000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0641100\",\"longitude\":\"-0514400\"},\"America/Goose_Bay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0602500\"},\"America/Grand_Turk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20190310T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20180311T020000\\\\r\\\\nRDATE:20180311T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0212800\",\"longitude\":\"-0710800\"},\"America/Grenada\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120300\",\"longitude\":\"-0614500\"},\"America/Guadeloupe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0161400\",\"longitude\":\"-0613200\"},\"America/Guatemala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143800\",\"longitude\":\"-0903100\"},\"America/Guayaquil\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0021000\",\"longitude\":\"-0795000\"},\"America/Guyana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0064800\",\"longitude\":\"-0581000\"},\"America/Halifax\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443900\",\"longitude\":\"-0633600\"},\"America/Havana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0230800\",\"longitude\":\"-0822200\"},\"America/Hermosillo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0290400\",\"longitude\":\"-1105800\"},\"America/Indiana/Indianapolis\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394606\",\"longitude\":\"-0860929\"},\"America/Indiana/Knox\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0411745\",\"longitude\":\"-0863730\"},\"America/Indiana/Marengo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382232\",\"longitude\":\"-0862041\"},\"America/Indiana/Petersburg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382931\",\"longitude\":\"-0871643\"},\"America/Indiana/Tell_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375711\",\"longitude\":\"-0864541\"},\"America/Indiana/Vevay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384452\",\"longitude\":\"-0850402\"},\"America/Indiana/Vincennes\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384038\",\"longitude\":\"-0873143\"},\"America/Indiana/Winamac\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0410305\",\"longitude\":\"-0863611\"},\"America/Inuvik\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0682059\",\"longitude\":\"-1334300\"},\"America/Iqaluit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0634400\",\"longitude\":\"-0682800\"},\"America/Jamaica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175805\",\"longitude\":\"-0764736\"},\"America/Juneau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0581807\",\"longitude\":\"-1342511\"},\"America/Kentucky/Louisville\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0381515\",\"longitude\":\"-0854534\"},\"America/Kentucky/Monticello\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364947\",\"longitude\":\"-0845057\"},\"America/Kralendijk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120903\",\"longitude\":\"-0681636\"},\"America/La_Paz\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0163000\",\"longitude\":\"-0680900\"},\"America/Lima\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0120300\",\"longitude\":\"-0770300\"},\"America/Los_Angeles\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0340308\",\"longitude\":\"-1181434\"},\"America/Lower_Princes\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180305\",\"longitude\":\"-0630250\"},\"America/Maceio\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0094000\",\"longitude\":\"-0354300\"},\"America/Managua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120900\",\"longitude\":\"-0861700\"},\"America/Manaus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-0600100\"},\"America/Marigot\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180400\",\"longitude\":\"-0630500\"},\"America/Martinique\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143600\",\"longitude\":\"-0610500\"},\"America/Matamoros\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0255000\",\"longitude\":\"-0973000\"},\"America/Mazatlan\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0231300\",\"longitude\":\"-1062500\"},\"America/Menominee\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0450628\",\"longitude\":\"-0873651\"},\"America/Merida\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0205800\",\"longitude\":\"-0893700\"},\"America/Metlakatla\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20191103T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20190120T020000\\\\r\\\\nRDATE:20190120T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550737\",\"longitude\":\"-1313435\"},\"America/Mexico_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0192400\",\"longitude\":\"-0990900\"},\"America/Miquelon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470300\",\"longitude\":\"-0562000\"},\"America/Moncton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460600\",\"longitude\":\"-0644700\"},\"America/Monterrey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0254000\",\"longitude\":\"-1001900\"},\"America/Montevideo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0345433\",\"longitude\":\"-0561245\"},\"America/Montserrat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164300\",\"longitude\":\"-0621300\"},\"America/Nassau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250500\",\"longitude\":\"-0772100\"},\"America/New_York\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0404251\",\"longitude\":\"-0740023\"},\"America/Nipigon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490100\",\"longitude\":\"-0881600\"},\"America/Nome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643004\",\"longitude\":\"-1652423\"},\"America/Noronha\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0035100\",\"longitude\":\"-0322500\"},\"America/North_Dakota/Beulah\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0471551\",\"longitude\":\"-1014640\"},\"America/North_Dakota/Center\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470659\",\"longitude\":\"-1011757\"},\"America/North_Dakota/New_Salem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465042\",\"longitude\":\"-1012439\"},\"America/Ojinaga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0293400\",\"longitude\":\"-1042500\"},\"America/Panama\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0085800\",\"longitude\":\"-0793200\"},\"America/Pangnirtung\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0660800\",\"longitude\":\"-0654400\"},\"America/Paramaribo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0055000\",\"longitude\":\"-0551000\"},\"America/Phoenix\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332654\",\"longitude\":\"-1120424\"},\"America/Port-au-Prince\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0183200\",\"longitude\":\"-0722000\"},\"America/Port_of_Spain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103900\",\"longitude\":\"-0613100\"},\"America/Porto_Velho\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084600\",\"longitude\":\"-0635400\"},\"America/Puerto_Rico\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182806\",\"longitude\":\"-0660622\"},\"America/Punta_Arenas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0530900\",\"longitude\":\"-0705500\"},\"America/Rainy_River\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484300\",\"longitude\":\"-0943400\"},\"America/Rankin_Inlet\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0624900\",\"longitude\":\"-0920459\"},\"America/Recife\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0080300\",\"longitude\":\"-0345400\"},\"America/Regina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502400\",\"longitude\":\"-1043900\"},\"America/Resolute\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0744144\",\"longitude\":\"-0944945\"},\"America/Rio_Branco\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0095800\",\"longitude\":\"-0674800\"},\"America/Santarem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0022600\",\"longitude\":\"-0545200\"},\"America/Santiago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20190407T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20190908T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180812T000000\\\\r\\\\nRDATE:20180812T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180513T000000\\\\r\\\\nRDATE:20180513T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0332700\",\"longitude\":\"-0704000\"},\"America/Santo_Domingo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182800\",\"longitude\":\"-0695400\"},\"America/Sao_Paulo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0233200\",\"longitude\":\"-0463700\"},\"America/Scoresbysund\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0702900\",\"longitude\":\"-0215800\"},\"America/Sitka\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0571035\",\"longitude\":\"-1351807\"},\"America/St_Barthelemy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175300\",\"longitude\":\"-0625100\"},\"America/St_Johns\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0230\\\\r\\\\nTZOFFSETTO:-0330\\\\r\\\\nTZNAME:NST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0330\\\\r\\\\nTZOFFSETTO:-0230\\\\r\\\\nTZNAME:NDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0473400\",\"longitude\":\"-0524300\"},\"America/St_Kitts\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0171800\",\"longitude\":\"-0624300\"},\"America/St_Lucia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140100\",\"longitude\":\"-0610000\"},\"America/St_Thomas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182100\",\"longitude\":\"-0645600\"},\"America/St_Vincent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130900\",\"longitude\":\"-0611400\"},\"America/Swift_Current\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"-1075000\"},\"America/Tegucigalpa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140600\",\"longitude\":\"-0871300\"},\"America/Thule\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0763400\",\"longitude\":\"-0684700\"},\"America/Thunder_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0482300\",\"longitude\":\"-0891500\"},\"America/Tijuana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323200\",\"longitude\":\"-1170100\"},\"America/Toronto\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433900\",\"longitude\":\"-0792300\"},\"America/Tortola\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182700\",\"longitude\":\"-0643700\"},\"America/Vancouver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491600\",\"longitude\":\"-1230700\"},\"America/Whitehorse\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0604300\",\"longitude\":\"-1350300\"},\"America/Winnipeg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0495300\",\"longitude\":\"-0970900\"},\"America/Yakutat\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593249\",\"longitude\":\"-1394338\"},\"America/Yellowknife\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0622700\",\"longitude\":\"-1142100\"},\"Antarctica/Casey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:20180311T040000\\\\r\\\\nRDATE:20180311T040000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0661700\",\"longitude\":\"+1103100\"},\"Antarctica/Davis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0683500\",\"longitude\":\"+0775800\"},\"Antarctica/DumontDUrville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0664000\",\"longitude\":\"+1400100\"},\"Antarctica/Macquarie\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0543000\",\"longitude\":\"+1585700\"},\"Antarctica/Mawson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673600\",\"longitude\":\"+0625300\"},\"Antarctica/McMurdo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0775000\",\"longitude\":\"+1663600\"},\"Antarctica/Palmer\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0644800\",\"longitude\":\"-0640600\"},\"Antarctica/Rothera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673400\",\"longitude\":\"-0680800\"},\"Antarctica/Syowa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0690022\",\"longitude\":\"+0393524\"},\"Antarctica/Troll\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:+02\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0720041\",\"longitude\":\"+0023206\"},\"Antarctica/Vostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0782400\",\"longitude\":\"+1065400\"},\"Arctic/Longyearbyen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0780000\",\"longitude\":\"+0160000\"},\"Asia/Aden\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0124500\",\"longitude\":\"+0451200\"},\"Asia/Almaty\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431500\",\"longitude\":\"+0765700\"},\"Asia/Amman\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700326T235959\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0315700\",\"longitude\":\"+0355600\"},\"Asia/Anadyr\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0644500\",\"longitude\":\"+1772900\"},\"Asia/Aqtau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443100\",\"longitude\":\"+0501600\"},\"Asia/Aqtobe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"+0571000\"},\"Asia/Ashgabat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375700\",\"longitude\":\"+0582300\"},\"Asia/Atyrau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470700\",\"longitude\":\"+0515600\"},\"Asia/Baghdad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332100\",\"longitude\":\"+0442500\"},\"Asia/Bahrain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0262300\",\"longitude\":\"+0503500\"},\"Asia/Baku\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402300\",\"longitude\":\"+0495100\"},\"Asia/Bangkok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134500\",\"longitude\":\"+1003100\"},\"Asia/Barnaul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0532200\",\"longitude\":\"+0834500\"},\"Asia/Beirut\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0335300\",\"longitude\":\"+0353000\"},\"Asia/Bishkek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0425400\",\"longitude\":\"+0743600\"},\"Asia/Brunei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"+1145500\"},\"Asia/Chita\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0520300\",\"longitude\":\"+1132800\"},\"Asia/Choibalsan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480400\",\"longitude\":\"+1143000\"},\"Asia/Colombo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:+0530\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065600\",\"longitude\":\"+0795100\"},\"Asia/Damascus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700327T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333000\",\"longitude\":\"+0361800\"},\"Asia/Dhaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0234300\",\"longitude\":\"+0902500\"},\"Asia/Dili\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083300\",\"longitude\":\"+1253500\"},\"Asia/Dubai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251800\",\"longitude\":\"+0551800\"},\"Asia/Dushanbe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0383500\",\"longitude\":\"+0684800\"},\"Asia/Famagusta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180325T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0350700\",\"longitude\":\"+0335700\"},\"Asia/Gaza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313000\",\"longitude\":\"+0342800\"},\"Asia/Hebron\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313200\",\"longitude\":\"+0350542\"},\"Asia/Ho_Chi_Minh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0104500\",\"longitude\":\"+1064000\"},\"Asia/Hong_Kong\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:HKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221700\",\"longitude\":\"+1140900\"},\"Asia/Hovd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480100\",\"longitude\":\"+0913900\"},\"Asia/Irkutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521600\",\"longitude\":\"+1042000\"},\"Asia/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Asia/Jakarta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061000\",\"longitude\":\"+1064800\"},\"Asia/Jayapura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:WIT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0023200\",\"longitude\":\"+1404200\"},\"Asia/Jerusalem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:IDT\\\\r\\\\nDTSTART:19700327T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0314650\",\"longitude\":\"+0351326\"},\"Asia/Kabul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0343100\",\"longitude\":\"+0691200\"},\"Asia/Kamchatka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0530100\",\"longitude\":\"+1583900\"},\"Asia/Karachi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:PKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0245200\",\"longitude\":\"+0670300\"},\"Asia/Kathmandu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0545\\\\r\\\\nTZOFFSETTO:+0545\\\\r\\\\nTZNAME:+0545\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0274300\",\"longitude\":\"+0851900\"},\"Asia/Khandyga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0623923\",\"longitude\":\"+1353314\"},\"Asia/Kolkata\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0223200\",\"longitude\":\"+0882200\"},\"Asia/Krasnoyarsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0560100\",\"longitude\":\"+0925000\"},\"Asia/Kuala_Lumpur\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0031000\",\"longitude\":\"+1014200\"},\"Asia/Kuching\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0013300\",\"longitude\":\"+1102000\"},\"Asia/Kuwait\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0292000\",\"longitude\":\"+0475900\"},\"Asia/Macau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221150\",\"longitude\":\"+1133230\"},\"Asia/Magadan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593400\",\"longitude\":\"+1504800\"},\"Asia/Makassar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:WITA\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0050700\",\"longitude\":\"+1192400\"},\"Asia/Manila\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143500\",\"longitude\":\"+1210000\"},\"Asia/Muscat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0233600\",\"longitude\":\"+0583500\"},\"Asia/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Asia/Novokuznetsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0534500\",\"longitude\":\"+0870700\"},\"Asia/Novosibirsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550200\",\"longitude\":\"+0825500\"},\"Asia/Omsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550000\",\"longitude\":\"+0732400\"},\"Asia/Oral\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0511300\",\"longitude\":\"+0512100\"},\"Asia/Phnom_Penh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113300\",\"longitude\":\"+1045500\"},\"Asia/Pontianak\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0000200\",\"longitude\":\"+1092000\"},\"Asia/Pyongyang\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0830\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0830\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:20180504T233000\\\\r\\\\nRDATE:20180504T233000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0390100\",\"longitude\":\"+1254500\"},\"Asia/Qatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251700\",\"longitude\":\"+0513200\"},\"Asia/Qostanay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0633700\"},\"Asia/Qyzylorda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:20181221T000000\\\\r\\\\nRDATE:20181221T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0444800\",\"longitude\":\"+0652800\"},\"Asia/Riyadh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0243800\",\"longitude\":\"+0464300\"},\"Asia/Sakhalin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465800\",\"longitude\":\"+1424200\"},\"Asia/Samarkand\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394000\",\"longitude\":\"+0664800\"},\"Asia/Seoul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0373300\",\"longitude\":\"+1265800\"},\"Asia/Shanghai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0311400\",\"longitude\":\"+1212800\"},\"Asia/Singapore\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0011700\",\"longitude\":\"+1035100\"},\"Asia/Srednekolymsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0672800\",\"longitude\":\"+1534300\"},\"Asia/Taipei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250300\",\"longitude\":\"+1213000\"},\"Asia/Tashkent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0691800\"},\"Asia/Tbilisi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0414300\",\"longitude\":\"+0444900\"},\"Asia/Tehran\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0330\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:20180321T235959\\\\r\\\\nRDATE:20180321T235959\\\\r\\\\nRDATE:20190321T235959\\\\r\\\\nRDATE:20200320T235959\\\\r\\\\nRDATE:20210321T235959\\\\r\\\\nRDATE:20220321T235959\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:20180921T235959\\\\r\\\\nRDATE:20180921T235959\\\\r\\\\nRDATE:20190921T235959\\\\r\\\\nRDATE:20200920T235959\\\\r\\\\nRDATE:20210921T235959\\\\r\\\\nRDATE:20220921T235959\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0354000\",\"longitude\":\"+0512600\"},\"Asia/Thimphu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0272800\",\"longitude\":\"+0893900\"},\"Asia/Tokyo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:JST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0353916\",\"longitude\":\"+1394441\"},\"Asia/Tomsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0563000\",\"longitude\":\"+0845800\"},\"Asia/Ulaanbaatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475500\",\"longitude\":\"+1065300\"},\"Asia/Urumqi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434800\",\"longitude\":\"+0873500\"},\"Asia/Ust-Nera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643337\",\"longitude\":\"+1431336\"},\"Asia/Vientiane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175800\",\"longitude\":\"+1023600\"},\"Asia/Vladivostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431000\",\"longitude\":\"+1315600\"},\"Asia/Yakutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620000\",\"longitude\":\"+1294000\"},\"Asia/Yangon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164700\",\"longitude\":\"+0961000\"},\"Asia/Yekaterinburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565100\",\"longitude\":\"+0603600\"},\"Asia/Yerevan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0401100\",\"longitude\":\"+0443000\"},\"Atlantic/Azores\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0374400\",\"longitude\":\"-0254000\"},\"Atlantic/Bermuda\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0321700\",\"longitude\":\"-0644600\"},\"Atlantic/Canary\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0280600\",\"longitude\":\"-0152400\"},\"Atlantic/Cape_Verde\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0145500\",\"longitude\":\"-0233100\"},\"Atlantic/Faroe\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620100\",\"longitude\":\"-0064600\"},\"Atlantic/Madeira\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323800\",\"longitude\":\"-0165400\"},\"Atlantic/Reykjavik\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640900\",\"longitude\":\"-0215100\"},\"Atlantic/South_Georgia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0541600\",\"longitude\":\"-0363200\"},\"Atlantic/St_Helena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0155500\",\"longitude\":\"-0054200\"},\"Atlantic/Stanley\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0514200\",\"longitude\":\"-0575100\"},\"Australia/Adelaide\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0345500\",\"longitude\":\"+1383500\"},\"Australia/Brisbane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0272800\",\"longitude\":\"+1530200\"},\"Australia/Broken_Hill\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0315700\",\"longitude\":\"+1412700\"},\"Australia/Currie\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0395600\",\"longitude\":\"+1435200\"},\"Australia/Darwin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0122800\",\"longitude\":\"+1305000\"},\"Australia/Eucla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0845\\\\r\\\\nTZOFFSETTO:+0845\\\\r\\\\nTZNAME:+0845\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0314300\",\"longitude\":\"+1285200\"},\"Australia/Hobart\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0425300\",\"longitude\":\"+1471900\"},\"Australia/Lindeman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201600\",\"longitude\":\"+1490000\"},\"Australia/Lord_Howe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:+1030\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0313300\",\"longitude\":\"+1590500\"},\"Australia/Melbourne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0374900\",\"longitude\":\"+1445800\"},\"Australia/Perth\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:AWST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0315700\",\"longitude\":\"+1155100\"},\"Australia/Sydney\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0335200\",\"longitude\":\"+1511300\"},\"Europe/Amsterdam\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0522200\",\"longitude\":\"+0045400\"},\"Europe/Andorra\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0423000\",\"longitude\":\"+0013100\"},\"Europe/Astrakhan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0462100\",\"longitude\":\"+0480300\"},\"Europe/Athens\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375800\",\"longitude\":\"+0234300\"},\"Europe/Belgrade\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445000\",\"longitude\":\"+0203000\"},\"Europe/Berlin\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0523000\",\"longitude\":\"+0132200\"},\"Europe/Bratislava\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480900\",\"longitude\":\"+0170700\"},\"Europe/Brussels\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0505000\",\"longitude\":\"+0042000\"},\"Europe/Bucharest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0442600\",\"longitude\":\"+0260600\"},\"Europe/Budapest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0473000\",\"longitude\":\"+0190500\"},\"Europe/Busingen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0474200\",\"longitude\":\"+0084100\"},\"Europe/Chisinau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470000\",\"longitude\":\"+0285000\"},\"Europe/Copenhagen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554000\",\"longitude\":\"+0123500\"},\"Europe/Dublin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0061500\"},\"Europe/Gibraltar\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0360800\",\"longitude\":\"-0052100\"},\"Europe/Guernsey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0492717\",\"longitude\":\"-0023210\"},\"Europe/Helsinki\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0601000\",\"longitude\":\"+0245800\"},\"Europe/Isle_of_Man\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0540900\",\"longitude\":\"-0042800\"},\"Europe/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Europe/Jersey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491101\",\"longitude\":\"-0020624\"},\"Europe/Kaliningrad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544300\",\"longitude\":\"+0203000\"},\"Europe/Kiev\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502600\",\"longitude\":\"+0303100\"},\"Europe/Kirov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0583600\",\"longitude\":\"+0493900\"},\"Europe/Lisbon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0384300\",\"longitude\":\"-0090800\"},\"Europe/Ljubljana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460300\",\"longitude\":\"+0143100\"},\"Europe/London\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513030\",\"longitude\":\"+0000731\"},\"Europe/Luxembourg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0493600\",\"longitude\":\"+0060900\"},\"Europe/Madrid\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402400\",\"longitude\":\"-0034100\"},\"Europe/Malta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355400\",\"longitude\":\"+0143100\"},\"Europe/Mariehamn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0600600\",\"longitude\":\"+0195700\"},\"Europe/Minsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0535400\",\"longitude\":\"+0273400\"},\"Europe/Monaco\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434200\",\"longitude\":\"+0072300\"},\"Europe/Moscow\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554521\",\"longitude\":\"+0373704\"},\"Europe/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Europe/Oslo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0595500\",\"longitude\":\"+0104500\"},\"Europe/Paris\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0485200\",\"longitude\":\"+0022000\"},\"Europe/Podgorica\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0422600\",\"longitude\":\"+0191600\"},\"Europe/Prague\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0500500\",\"longitude\":\"+0142600\"},\"Europe/Riga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565700\",\"longitude\":\"+0240600\"},\"Europe/Rome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415400\",\"longitude\":\"+0122900\"},\"Europe/Samara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0500900\"},\"Europe/San_Marino\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435500\",\"longitude\":\"+0122800\"},\"Europe/Sarajevo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435200\",\"longitude\":\"+0182500\"},\"Europe/Saratov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513400\",\"longitude\":\"+0460200\"},\"Europe/Simferopol\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445700\",\"longitude\":\"+0340600\"},\"Europe/Skopje\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415900\",\"longitude\":\"+0212600\"},\"Europe/Sofia\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0424100\",\"longitude\":\"+0231900\"},\"Europe/Stockholm\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592000\",\"longitude\":\"+0180300\"},\"Europe/Tallinn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592500\",\"longitude\":\"+0244500\"},\"Europe/Tirane\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0195000\"},\"Europe/Ulyanovsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0542000\",\"longitude\":\"+0482400\"},\"Europe/Uzhgorod\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0483700\",\"longitude\":\"+0221800\"},\"Europe/Vaduz\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470900\",\"longitude\":\"+0093100\"},\"Europe/Vatican\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415408\",\"longitude\":\"+0122711\"},\"Europe/Vienna\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0481300\",\"longitude\":\"+0162000\"},\"Europe/Vilnius\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544100\",\"longitude\":\"+0251900\"},\"Europe/Volgograd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:20181028T020000\\\\r\\\\nRDATE:20181028T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484400\",\"longitude\":\"+0442500\"},\"Europe/Warsaw\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521500\",\"longitude\":\"+0210000\"},\"Europe/Zagreb\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0454800\",\"longitude\":\"+0155800\"},\"Europe/Zaporozhye\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475000\",\"longitude\":\"+0351000\"},\"Europe/Zurich\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0472300\",\"longitude\":\"+0083200\"},\"Indian/Antananarivo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0185500\",\"longitude\":\"+0473100\"},\"Indian/Chagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0072000\",\"longitude\":\"+0722500\"},\"Indian/Christmas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0102500\",\"longitude\":\"+1054300\"},\"Indian/Cocos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0121000\",\"longitude\":\"+0965500\"},\"Indian/Comoro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114100\",\"longitude\":\"+0431600\"},\"Indian/Kerguelen\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0492110\",\"longitude\":\"+0701303\"},\"Indian/Mahe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0044000\",\"longitude\":\"+0552800\"},\"Indian/Maldives\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0041000\",\"longitude\":\"+0733000\"},\"Indian/Mauritius\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201000\",\"longitude\":\"+0573000\"},\"Indian/Mayotte\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0124700\",\"longitude\":\"+0451400\"},\"Indian/Reunion\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0205200\",\"longitude\":\"+0552800\"},\"Pacific/Apia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700405T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700927T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0135000\",\"longitude\":\"-1714400\"},\"Pacific/Auckland\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0365200\",\"longitude\":\"+1744600\"},\"Pacific/Bougainville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061300\",\"longitude\":\"+1553400\"},\"Pacific/Chatham\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1245\\\\r\\\\nTZOFFSETTO:+1345\\\\r\\\\nTZNAME:+1345\\\\r\\\\nDTSTART:19700927T024500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1345\\\\r\\\\nTZOFFSETTO:+1245\\\\r\\\\nTZNAME:+1245\\\\r\\\\nDTSTART:19700405T034500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0435700\",\"longitude\":\"-1763300\"},\"Pacific/Chuuk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072500\",\"longitude\":\"+1514700\"},\"Pacific/Easter\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20190406T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20190907T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20180811T220000\\\\r\\\\nRDATE:20180811T220000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20180512T220000\\\\r\\\\nRDATE:20180512T220000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0270900\",\"longitude\":\"-1092600\"},\"Pacific/Efate\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0174000\",\"longitude\":\"+1682500\"},\"Pacific/Enderbury\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-1710500\"},\"Pacific/Fakaofo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0092200\",\"longitude\":\"-1711400\"},\"Pacific/Fiji\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700118T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20191110T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0180800\",\"longitude\":\"+1782500\"},\"Pacific/Funafuti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083100\",\"longitude\":\"+1791300\"},\"Pacific/Galapagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0005400\",\"longitude\":\"-0893600\"},\"Pacific/Gambier\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:-09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0230800\",\"longitude\":\"-1345700\"},\"Pacific/Guadalcanal\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093200\",\"longitude\":\"+1601200\"},\"Pacific/Guam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"+1444500\"},\"Pacific/Honolulu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0211825\",\"longitude\":\"-1575130\"},\"Pacific/Kiritimati\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0015200\",\"longitude\":\"-1572000\"},\"Pacific/Kosrae\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"+1625900\"},\"Pacific/Kwajalein\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090500\",\"longitude\":\"+1672000\"},\"Pacific/Majuro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0070900\",\"longitude\":\"+1711200\"},\"Pacific/Marquesas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0930\\\\r\\\\nTZOFFSETTO:-0930\\\\r\\\\nTZNAME:-0930\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0090000\",\"longitude\":\"-1393000\"},\"Pacific/Midway\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0281300\",\"longitude\":\"-1772200\"},\"Pacific/Nauru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0003100\",\"longitude\":\"+1665500\"},\"Pacific/Niue\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:-11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0190100\",\"longitude\":\"-1695500\"},\"Pacific/Norfolk\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:20191006T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20200405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1130\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20190701T000000\\\\r\\\\nRDATE:20190701T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0290300\",\"longitude\":\"+1675800\"},\"Pacific/Noumea\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0221600\",\"longitude\":\"+1662700\"},\"Pacific/Pago_Pago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0141600\",\"longitude\":\"-1704200\"},\"Pacific/Palau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072000\",\"longitude\":\"+1342900\"},\"Pacific/Pitcairn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:-08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0250400\",\"longitude\":\"-1300500\"},\"Pacific/Pohnpei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065800\",\"longitude\":\"+1581300\"},\"Pacific/Port_Moresby\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093000\",\"longitude\":\"+1471000\"},\"Pacific/Rarotonga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211400\",\"longitude\":\"-1594600\"},\"Pacific/Saipan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151200\",\"longitude\":\"+1454500\"},\"Pacific/Tahiti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0173200\",\"longitude\":\"-1493400\"},\"Pacific/Tarawa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0012500\",\"longitude\":\"+1730000\"},\"Pacific/Tongatapu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211000\",\"longitude\":\"-1751000\"},\"Pacific/Wake\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191700\",\"longitude\":\"+1663700\"},\"Pacific/Wallis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0131800\",\"longitude\":\"-1761000\"}}}')},function(t,n,e){\"use strict\";function r(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,o=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw o}}}}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.r(n),n.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var n=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===n.length||!this.hasNodeOrAnyParentClass(t.target,n)},hasNodeOrAnyParentClass:function(t,n){var e,i=r(n);try{for(i.s();!(e=i.n()).done;){var a,o=e.value;if(null!=t&&null!==(a=t.classList)&&void 0!==a&&a.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,n)}}}},function(t,n,e){\"use strict\";e.r(n),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,n){t.exports=require(\"@nextcloud/browser-storage\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,n,e){\"use strict\";e.r(n);var r={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=e(2),a=e.n(i),o=e(33),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(34)),s={insert:\"head\",singleton:!1},A=(a()(l.a,s),l.a.locals,e(3)),c={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(A.a)(r,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(n){return n.preventDefault(),t.item.action(n)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(n){var e=t.item.model,r=n.target,i=!!r.checked;if(Array.isArray(e)){var a=t._i(e,null);r.checked?a<0&&t.$set(t.item,\"model\",e.concat([null])):a>-1&&t.$set(t.item,\"model\",e.slice(0,a).concat(e.slice(a+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(n){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(n){n.target.composing||t.$set(t.item,\"model\",n.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=e(35),u={insert:\"head\",singleton:!1},E=(a()(d.a,u),d.a.locals,e(36)),m=e.n(E),p=Object(A.a)(c,(function(){var t=this.$createElement,n=this._self._c||t;return n(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,e){return n(\"PopoverMenuItem\",{key:e,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=D},function(t,n,e){\"use strict\";e.r(n);var r=e(15),i=e.n(r),a=e(28),o=e(7),T=e(49),l=e(18),s=e(16),A=e(21),c=e.n(A),d=e(54),u=e(11),E=e(58),m=e(24),p=e(4),D=e(14);function S(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}function g(t){return function(){var n=this,e=arguments;return new Promise((function(r,i){var a=t.apply(n,e);function o(t){S(a,r,i,o,T,\"next\",t)}function T(t){S(a,r,i,o,T,\"throw\",t)}o(void 0)}))}}var N=Object(T.getBuilder)(\"nextcloud\").persist().build();function F(t){var n=N.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof n?Boolean(n):null}function R(t,n){t&&N.setItem(\"user-has-avatar.\"+t,n)}var h={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:D.a,PopoverMenu:d.default},mixins:[m.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(p.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var n=Object(E.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+n.r+\", \"+n.g+\", \"+n.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var n=this.getUserIdentifier,e=n.indexOf(\" \");\"\"===n?t=\"?\":(t=String.fromCodePoint(n.codePointAt(0)),-1!==e&&(t=t.concat(String.fromCodePoint(n.codePointAt(e+1)))))}return t.toUpperCase()},menu:function(){var t,n,e,r=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,n=document.createTextNode(t),e=document.createElement(\"p\"),e.appendChild(n),e.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(s.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(s.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.hasMenu){n.next=2;break}return n.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){n.next=5;break}return n.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return n.stop()}}),n)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){var e,r,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t.contactsMenuLoading=!0,n.prev=1,e=encodeURIComponent(t.user),n.next=5,c.a.post(Object(o.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(e));case 5:r=n.sent,i=r.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,n.next=13;break;case 10:n.prev=10,n.t0=n.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return n.stop()}}),n,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),n=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,n)}},avatarUrlGenerator:function(t,n){var e,r=\"/avatar/{user}/{size}\";this.isGuest&&(r=\"/avatar/guest/{user}/{size}\");var i=Object(o.generateUrl)(r,{user:t,size:n});return t===(null===(e=Object(l.getCurrentUser)())||void 0===e?void 0:e.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var n=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=F(this.user);if(this.isUserDefined&&\"boolean\"==typeof r)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),void(!1===r&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){n.avatarUrlLoaded=t,e&&(n.avatarSrcSetLoaded=e),n.isAvatarLoaded=!0,R(n.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),n.avatarUrlLoaded=null,n.avatarSrcSetLoaded=null,n.userDoesNotExist=!0,n.isAvatarLoaded=!1,R(n.user,!1)},e&&(i.srcset=e),i.src=t}}},O=e(2),B=e.n(O),C=e(41),b={insert:\"head\",singleton:!1},f=(B()(C.a,b),C.a.locals,e(3)),v=e(42),x=e.n(v),Y=Object(f.a)(h,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:t.toggleMenu(n)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?e(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"div\",{staticClass:\"icon-loading\"}):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[e(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?e(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof x.a&&x()(Y);var Z=Y.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=Z},function(t,n){t.exports=require(\"md5\")},function(t,n){t.exports=require(\"@nextcloud/capabilities\")},function(t,n,e){\"use strict\";e.r(n);var r=e(56),i=e.n(r),a=e(44),o=function(t){var n=t.toLowerCase();null===n.match(/^([0-9a-f]{4}-?){8}$/)&&(n=i()(n)),n=n.replace(/[^0-9a-f]/g,\"\");return Object(a.a)(6)[function(t,n){for(var e=0,r=[],i=0;i<t.length;i++)r.push(parseInt(t.charAt(i),16)%16);for(var a in r)e+=r[a];return parseInt(parseInt(e,10)%n,10)}(n,18)]};n.default=o},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(71),i=e.n(r),a=e(40),o=e(38),T={name:\"EllipsisedOption\",components:{Highlight:a.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(n){return{start:n.start-t.split,end:n.end-t.split}}))}}},l=e(2),s=e.n(l),A=e(64),c={insert:\"head\",singleton:!1},d=(s()(A.a,c),A.a.locals,e(3)),u=Object(d.a)(T,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,E=e(22),m=e(67),p=e(11);function D(t){return(D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var S={name:\"Multiselect\",components:{EllipsisedOption:u,ListItemIcon:m.default,VueMultiselect:i.a},directives:{tooltip:p.default},mixins:[E.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==D(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var n;return String(null===(n=this.$refs.VueMultiselect)||void 0===n?void 0:n.getOptionLabel(t))},formatLimitTitle:function(t){var n=this;if(Array.isArray(t)&&t.length>0){var e=t;return\"object\"===D(t[0])&&(e=t.map((function(t){return t[n.label]}))),e.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},g=e(65),N=e.n(g),F=Object(d.a)(S,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"ListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"ListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),option:n.option,search:n.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}})),{key:\"noResult\",fn:function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(n){t.localValue=n},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof N.a&&N()(F);n.a=F.exports},function(t,n,e){\"use strict\";e.r(n);var r=e(55),i=e(40),a=e(24),o={name:\"ListItemIcon\",components:{Avatar:r.default,Highlight:i.default},mixins:[a.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,n;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(n=t.trim)||void 0===n?void 0:n.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},T=e(2),l=e.n(T),s=e(60),A={insert:\"head\",singleton:!1},c=(l()(s.a,A),s.a.locals,e(3)),d=e(61),u=e.n(d),E=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof u.a&&u()(E);var m=E.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(66),a=e(2),o=e.n(a),T=e(70),l={insert:\"head\",singleton:!1};o()(T.a,l),T.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(i.a);n.default=i.a},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"vue-multiselect\")},function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-5c87e24c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-5c87e24c] .multiselect__tags{border:none !important}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./TimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,qCACC,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n){t.exports=require(\"@nextcloud/calendar-js\")},function(t,n){t.exports=require(\"@nextcloud/logger\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-e196afc6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-e196afc6]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-e196afc6]{opacity:.7}.datetime-picker-inline-icon[data-v-e196afc6]:focus,.datetime-picker-inline-icon[data-v-e196afc6]:hover{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./DatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+RxB,8CACC,UAAW,CACX,WAAY,CACZ,4BAA6B,CAC7B,eAAgB,CAChB,sBAAuB,CAEvB,2DACC,UAAW,CARb,wGAaE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(111),A=e(112),c=e(113),d=e(114),u=e(115),E=e(116),m=e(117),p=e(118),D=o()(i.a),S=l()(s.a),g=l()(A.a),N=l()(c.a),F=l()(d.a),R=l()(u.a),h=l()(E.a),O=l()(m.a),B=l()(p.a);D.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:'';position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(0.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(0.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:transparent;outline:none;border:1px solid rgba(0,0,0,0.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity 0.24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,0.3);transition:background-color 0.3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-0.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input-wrapper .mx-icon-clear{display:none}.mx-input-wrapper:hover .mx-icon-clear{display:block}.mx-input-wrapper:hover .mx-icon-clear+.mx-icon-calendar{display:none}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px;padding-left:10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(0,0,0,0.5);vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:rgba(0,0,0,0.8)}.mx-datepicker-main{font:14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px rgba(0,0,0,0.175);z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media (max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:'~'}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover{color:inherit;background-color:transparent}.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:transparent}.mx-week-number{opacity:0.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list::after{content:'';display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-357763c]{user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-357763c] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-input{width:100%;border:1px solid var(--color-border);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-357763c] .mx-input-wrapper:disabled,.mx-datepicker[data-v-357763c] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face) !important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:266px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-calendar{width:234px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:266px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius) 0 0 var(--border-radius)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius) var(--border-radius) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 auto;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+S+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+g+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+N+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+F+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+R+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+h+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+O+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+B+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../../node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n\\n th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index.scss';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=D},,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(68),i=e(4);function a(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,a=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw a}}}}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function T(t){return t.split(\"_\").join(\" \").replace(\"St \",\"St. \").split(\"/\").join(\" - \")}var l=e(79),s=e(46),A=e(80),c=Object(A.getLoggerBuilder)().detectUser().setApp(\"@nextcloud/vue\").build();function d(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,n){if(!t)return;if(\"string\"==typeof t)return u(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return u(t,n)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function u(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var E=Object(l.getTimezoneManager)(),m=!1,p=function(){return m||function(){for(var t in c.debug(\"Using version \".concat(s.version,\" of the timezone database\")),s.zones)if(Object.prototype.hasOwnProperty.call(s.zones,[t])){var n=[\"BEGIN:VTIMEZONE\",\"TZID:\"+t].concat(d(s.zones[t].ics),[\"END:VTIMEZONE\"]).join(\"\\r\\n\");E.registerTimezoneFromICS(t,n)}for(var e in s.aliases)Object.prototype.hasOwnProperty.call(s.aliases,[e])&&E.registerAlias(e,s.aliases[e].aliasTo);m=!0}(),E};function D(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return S(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return S(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,T=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){T=!0,a=t},f:function(){try{o||null==e.return||e.return()}finally{if(T)throw a}}}}function S(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var g={name:\"TimezonePicker\",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:\"floating\"}},computed:{placeholder:function(){return Object(i.b)(\"Type to search time zone\")},selectedTimezone:function(){var t,n=D(this.additionalTimezones);try{for(n.s();!(t=n.n()).done;){var e=t.value;if(e.timezoneId===this.value)return e}}catch(t){n.e(t)}finally{n.f()}return{label:T(this.value),timezoneId:this.value}},options:function(){return function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},o=[],l=a(n);try{for(l.s();!(t=l.n()).done;){var s=t.value,A=s.split(\"/\"),c=[A.shift(),A.join(\"/\")],d=c[0],u=c[1];u||(u=d,d=Object(i.b)(\"Global\")),r[d]=r[d]||{continent:d,regions:[]},r[d].regions.push({label:T(u),cities:[],timezoneId:s})}}catch(t){l.e(t)}finally{l.f()}var E,m=a(e);try{for(m.s();!(E=m.n()).done;){var p=E.value,D=p.continent,S=p.label,g=p.timezoneId;r[D]=r[D]||{continent:D,regions:[]},r[D].regions.push({label:S,cities:[],timezoneId:g})}}catch(t){m.e(t)}finally{m.f()}for(var N in r)Object.prototype.hasOwnProperty.call(r,N)&&(r[N].regions.sort((function(t,n){return t.label<n.label?-1:1})),o.push(r[N]));return o.sort((function(t,n){return t.continent<n.continent?-1:1})),o}(p().listAllTimezones(),this.additionalTimezones)}},methods:{change:function(t){t&&this.$emit(\"input\",t.timezoneId)}}},N=e(2),F=e.n(N),R=e(75),h={insert:\"head\",singleton:!1},O=(F()(R.a,h),R.a.locals,e(3)),B=e(76),C=e.n(B),b=Object(O.a)(g,(function(){var t=this.$createElement;return(this._self._c||t)(\"Multiselect\",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,\"group-select\":!1,placeholder:this.placeholder,\"group-values\":\"regions\",\"group-label\":\"continent\",\"track-by\":\"timezoneId\",label:\"label\",\"open-direction\":\"above\"},on:{input:this.change}})}),[],!1,null,\"5c87e24c\",null);\"function\"==typeof C.a&&C()(b);var f=b.exports;\n/**\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */n.default=f},,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(110),a=e.n(i),o=e(19),T=e(98),l={name:\"DatetimePicker\",components:{DatePicker:a.a,Popover:o.default,TimezonePicker:T.default},inheritAttrs:!1,props:{clearable:{type:Boolean,default:function(){return!1}},minuteStep:{type:Number,default:function(){return 10}},type:{type:String,default:\"date\"},format:{type:String,default:function(){var t={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"};return t[this.type]||t.date}},formatter:{type:Object,default:function(){return null}},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},methods:{handleSelectYear:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setFullYear(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},handleSelectMonth:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setMonth(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},s=e(2),A=e.n(s),c=e(81),d={insert:\"head\",singleton:!1},u=(A()(c.a,d),c.a.locals,e(3)),E=e(82),m=e.n(E),p=Object(u.a)(l,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"DatePicker\",t._g(t._b({ref:\"datepicker\",attrs:{clearable:t.clearable,\"minute-step\":t.minuteStep,format:t.format,formatter:t.formatter,type:t.type,value:t.value,\"append-to-body\":t.appendToBody,\"show-week-number\":t.showWeekNumber,\"popup-class\":{\"show-week-number\":t.showWeekNumber}},on:{\"select-year\":t.handleSelectYear,\"select-month\":t.handleSelectMonth,\"update:value\":function(n){return t.$emit(\"update:value\",t.value)}},scopedSlots:t._u([t.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"Popover\",{attrs:{open:t.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(n){t.showTimezonePopover=n}},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":t.highlightTimezone},on:{mousedown:function(t){t.stopPropagation(),t.preventDefault()}}})]},proxy:!0}],null,!1,3073042688)},[t._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),t._v(\" \"),e(\"TimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(n){return t.$emit(\"update:timezone-id\",arguments[0])}},model:{value:t.tzVal,callback:function(n){t.tzVal=n},expression:\"tzVal\"}})],1)]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)},\"DatePicker\",t.$attrs,!1),t.$listeners))}),[],!1,null,\"e196afc6\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports,S=e(83),g={insert:\"head\",singleton:!1};A()(S.a,g),S.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(D);n.default=D},,,,,,,function(t,n){t.exports=require(\"vue2-datepicker\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},,,,,,,,,,,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-56a0ce5b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']),textarea[data-v-56a0ce5b]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,button[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-56a0ce5b],textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-56a0ce5b]{border-color:var(--color-primary-element);outline:none}button[data-v-56a0ce5b]:not(:disabled):not(.primary):active,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-56a0ce5b]:disabled,input[data-v-56a0ce5b]:not([type='range']):disabled,textarea[data-v-56a0ce5b]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-56a0ce5b]:required,input[data-v-56a0ce5b]:not([type='range']):required,textarea[data-v-56a0ce5b]:required{box-shadow:none}button[data-v-56a0ce5b]:invalid,input[data-v-56a0ce5b]:not([type='range']):invalid,textarea[data-v-56a0ce5b]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-56a0ce5b],input:not([type='range']).primary[data-v-56a0ce5b],textarea.primary[data-v-56a0ce5b]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-56a0ce5b]:not(:disabled):hover,button.primary[data-v-56a0ce5b]:not(:disabled):focus,button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):hover,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):focus,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):hover,textarea.primary[data-v-56a0ce5b]:not(:disabled):focus,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-56a0ce5b]:disabled,input:not([type='range']).primary[data-v-56a0ce5b]:disabled,textarea.primary[data-v-56a0ce5b]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-56a0ce5b]{background-color:var(--color-background-hover)}.action--disabled[data-v-56a0ce5b]{pointer-events:none;opacity:.5}.action--disabled[data-v-56a0ce5b]:hover,.action--disabled[data-v-56a0ce5b]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-56a0ce5b]{opacity:1 !important}.action-input[data-v-56a0ce5b]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal}.action-input[data-v-56a0ce5b] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-56a0ce5b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-56a0ce5b]:not(.action-input--picker){opacity:.7}.action-input[data-v-56a0ce5b]:not(.action-input--picker):hover,.action-input[data-v-56a0ce5b]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-56a0ce5b]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-56a0ce5b],.action-input--picker:focus .action-input__icon[data-v-56a0ce5b]{opacity:1}.action-input>span[data-v-56a0ce5b]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-56a0ce5b]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-56a0ce5b]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-56a0ce5b]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-56a0ce5b]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:transparent;border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-56a0ce5b],.action-input__label *[data-v-56a0ce5b]{cursor:pointer}.action-input__input[data-v-56a0ce5b]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-56a0ce5b]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-56a0ce5b]{border-color:var(--color-error);border-left-color:transparent}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-56a0ce5b]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}.action-input__picker[data-v-56a0ce5b] .mx-input{margin:0}.action-input__multi[data-v-56a0ce5b]{width:100%}li:last-child>.action-input[data-v-56a0ce5b]{padding-bottom:10px}li:first-child>.action-input[data-v-56a0ce5b]{padding-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CCqNxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CAlBpB,qDAqBE,UFzPmB,CE0PnB,WF1PmB,CE2PnB,SFxOc,CEiNhB,gFA0BG,qBAAsB,CA1BzB,0DAgCE,UFlPiB,CEkNnB,gIAmCG,SFpPa,CEqPb,2DAMA,UF5PgB,CE0PjB,kIAMC,SF/Pa,CEiNhB,oCAmDE,cAAe,CACf,kBAAmB,CACnB,qCAGA,WAAY,CACZ,YAAa,CAGb,wBFhSmB,CEkSnB,+BAA2C,CAC3C,oBF/Rc,CEgSd,qCAIA,YAAa,CACb,kBAAmB,CACnB,aAAc,CAEd,YAAuB,CACvB,kBFrS8C,CEsS9C,uCAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,sCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAEvB,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,iBAAkB,CAClB,eAAgB,CAEhB,SFjTc,CEkTd,+BAAgC,CAChC,yCAA0C,CAC1C,6BAA8B,CAC9B,2DAA4D,CAE5D,6CAA8C,CAC9C,2BAA4B,CAlB5B,8EAqBC,cAAe,CACf,sCAKD,aAAc,CAEd,eAA8B,CAC9B,eAAY,CACZ,eAAY,CACZ,QAAS,CANT,+CAUC,cAAe,CAVhB,wGAiBG,+BAAgC,CAChC,6BAA8B,CAlBjC,gWAyBG,yCAA0C,CAC1C,kCAAmC,CA1BtC,iPAmCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,iDAMD,QAAS,CACT,sCAID,UAAW,CACX,6CAOD,mBAA4C,CAC5C,8CAIA,gBAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep {\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(72),i=e.n(r),a=e(27),o=e(17),T=e(103),l=e(68),s={name:\"ActionInput\",components:{ArrowRight:i.a,DatetimePicker:T.default,Multiselect:l.default},mixins:[a.a],props:{id:{type:String,default:function(){return\"action-\"+Object(o.a)()},validator:function(t){return\"\"!==t.trim()}},icon:{type:String,default:\"\",required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(t)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target?t.target.value:t)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)},onChange:function(t){this.$emit(\"change\",t)}}},A=e(2),c=e.n(A),d=e(130),u={insert:\"head\",singleton:!1},E=(c()(d.a,u),d.a.locals,e(3)),m=e(131),p=e.n(m),D=Object(E.a)(s,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":t.isDatePickerType,\"action-input-picker--disabled\":t.disabled},on:{mouseleave:t.onLeave}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-input__icon\",class:[t.isIconUrl?\"action-input__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[t.isDatePickerType?e(\"DatetimePicker\",t._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:t.value,placeholder:t.text,disabled:t.disabled,type:t.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:t.isFocusable}]},on:{input:t.onInput,change:t.onChange}},\"DatetimePicker\",t.$attrs,!1)):t.isMultiselectType?e(\"Multiselect\",t._g(t._b({staticClass:\"action-input__multi\",class:{focusable:t.isFocusable},attrs:{value:t.value,placeholder:t.text,disabled:t.disabled}},\"Multiselect\",t.$attrs,!1),t.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),e(\"input\",t._b({staticClass:\"action-input__input\",class:{focusable:t.isFocusable},attrs:{type:t.type,placeholder:t.text,disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput,change:t.onChange}},\"input\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)]],2)],2)])}),[],!1,null,\"56a0ce5b\",null);\"function\"==typeof p.a&&p()(D);var S=D.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=S}])}));\n//# sourceMappingURL=ActionInput.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionTextEditable\",[],n):\"object\"==typeof exports?exports[\"Components/ActionTextEditable\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionTextEditable\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var a in t)e.d(o,a,function(n){return t[n]}.bind(null,a));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=210)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,a,r=[],i=!0,c=!1;try{for(e=e.call(t);!(i=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);i=!0);}catch(t){c=!0,a=t}finally{try{i||null==e.return||e.return()}finally{if(c)throw a}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return a(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return a(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],a=n[3];if(!a)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),i=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(i,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(o)for(var r=0;r<this.length;r++){var i=this[r][0];null!=i&&(a[i]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&a[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},136:function(t,n,e){\"use strict\";var o=e(0),a=e.n(o),r=e(1),i=e.n(r)()(a.a);i.push([t.i,\".material-design-icon[data-v-0f3c4318]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']),textarea[data-v-0f3c4318]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-0f3c4318]:not(:disabled):not(.primary):hover,button[data-v-0f3c4318]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-0f3c4318],textarea[data-v-0f3c4318]:not(:disabled):not(.primary):hover,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-0f3c4318]{border-color:var(--color-primary-element);outline:none}button[data-v-0f3c4318]:not(:disabled):not(.primary):active,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-0f3c4318]:disabled,input[data-v-0f3c4318]:not([type='range']):disabled,textarea[data-v-0f3c4318]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-0f3c4318]:required,input[data-v-0f3c4318]:not([type='range']):required,textarea[data-v-0f3c4318]:required{box-shadow:none}button[data-v-0f3c4318]:invalid,input[data-v-0f3c4318]:not([type='range']):invalid,textarea[data-v-0f3c4318]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-0f3c4318],input:not([type='range']).primary[data-v-0f3c4318],textarea.primary[data-v-0f3c4318]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-0f3c4318]:not(:disabled):hover,button.primary[data-v-0f3c4318]:not(:disabled):focus,button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):hover,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):focus,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):hover,textarea.primary[data-v-0f3c4318]:not(:disabled):focus,textarea.primary[data-v-0f3c4318]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-0f3c4318]:disabled,input:not([type='range']).primary[data-v-0f3c4318]:disabled,textarea.primary[data-v-0f3c4318]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-0f3c4318]{background-color:var(--color-background-hover)}.action--disabled[data-v-0f3c4318]{pointer-events:none;opacity:.5}.action--disabled[data-v-0f3c4318]:hover,.action--disabled[data-v-0f3c4318]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-0f3c4318]{opacity:1 !important}.action-text-editable[data-v-0f3c4318]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-0f3c4318]:hover,.action-text-editable[data-v-0f3c4318]:focus{opacity:1}.action-text-editable>span[data-v-0f3c4318]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-0f3c4318]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable__form[data-v-0f3c4318]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-0f3c4318]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-0f3c4318]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-0f3c4318],.action-text-editable__label *[data-v-0f3c4318]{cursor:pointer}.action-text-editable__textarea[data-v-0f3c4318]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-0f3c4318]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-0f3c4318]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-0f3c4318]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-0f3c4318]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-0f3c4318]{margin-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CC0HxB,uCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,UFnIkB,CEoIlB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBF7JoB,CEyIrB,0FAwBE,SF9Ic,CEsHhB,4CA4BE,cAAe,CACf,kBAAmB,CACnB,6CAGA,WAAY,CACZ,YAAa,CAGb,wBF9KmB,CEgLnB,+BAA2C,CAC3C,oBF7Kc,CE8Kd,6CAIA,YAAa,CACb,aAAc,CACd,qBAAsB,CAEtB,iBAAkB,CAClB,YAAuB,CACvB,kBFpL8C,CEqL9C,+CAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,8CAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,iBAAkB,CAClB,UAAuB,CACvB,UAAW,CACX,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,QAAS,CACT,eAAgB,CAEhB,SFpMc,CEqMd,+BAAgC,CAChC,QAAS,CACT,iBAAkB,CAElB,6CAA8C,CAC9C,2BAA4B,CArB5B,8FAwBC,cAAe,CACf,iDAKD,aAAc,CAEd,eAAY,CACZ,gBAAY,CAEZ,eAA8B,CAC9B,qBAAsB,CACtB,QAAS,CART,0DAYC,cAAe,CAZhB,2HAmBG,mCAAoC,CAnBvC,yZA0BG,6CAA8C,CAC9C,+BAAgC,CA3BnC,0SAoCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,qDASH,kBAA2C,CAC3C,sDAIA,eAAwC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=i},137:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,a=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),i=[];function c(t){for(var n=-1,e=0;e<i.length;e++)if(i[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},o=[],a=0;a<t.length;a++){var r=t[a],l=n.base?r[0]+n.base:r[0],s=e[l]||0,d=\"\".concat(l,\" \").concat(s);e[l]=s+1;var u=c(d),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(i[u].references++,i[u].updater(p)):i.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function s(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var a=e.nc;a&&(o.nonce=a)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var i=r(t.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var a=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,a);else{var r=document.createTextNode(a),i=t.childNodes;i[n]&&t.removeChild(i[n]),i.length?t.insertBefore(r,i[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,a=e.media,r=e.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var b=null,A=0;function m(t,n){var e,o,a;if(n.singleton){var r=A++;e=b||(b=s(n)),o=p.bind(null,e,r,!1),a=p.bind(null,e,r,!0)}else e=s(n),o=f.bind(null,e,n),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else a()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=a());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var a=c(e[o]);i[a].references--}for(var r=l(t,n),s=0;s<e.length;s++){var d=c(e[s]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}e=r}}}},210:function(t,n,e){\"use strict\";e.r(n);var o=e(72),a=e.n(o),r=e(32),i=e(17),c={name:\"ActionTextEditable\",components:{ArrowRight:a.a},mixins:[r.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target.value)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)}}},l=e(2),s=e.n(l),d=e(136),u={insert:\"head\",singleton:!1},p=(s()(d.a,u),d.a.locals,e(3)),f=e(137),b=e.n(f),A=Object(p.a)(c,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[t.isIconUrl?\"action-text-editable__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),t.title?e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"textarea\",t._b({class:[\"action-text-editable__textarea\",{focusable:t.isFocusable}],attrs:{disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput}},\"textarea\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)])])])}),[],!1,null,\"0f3c4318\",null);\"function\"==typeof b.a&&b()(A);var m=A.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},27:function(t,n,e){\"use strict\";var o=e(6),a=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(a.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,a,r,i,c){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),o&&(s.functional=!0),r&&(s._scopeId=\"data-v-\"+r),i?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},s._ssrRegister=l):a&&(l=c?function(){a.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(s.functional){s._injectStyles=l;var d=s.render;s.render=function(t,n){return l.call(n),d(t,n)}}else{var u=s.beforeCreate;s.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),a=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=a(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},72:function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")}})}));\n//# sourceMappingURL=ActionTextEditable.js.map","var isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var nativeSymbol = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = nativeSymbol ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return input.charAt(pointer);\n };\n\n if (chr() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(chr())) return;\n while (DIGIT.test(chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !has(set, chr) ? chr : encodeURIComponent(chr);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && ALPHA.test(chr)) {\n buffer += chr.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (ALPHANUMERIC.test(chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += chr.toLowerCase();\n } else if (chr == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (DIGIT.test(chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && isSpecial(url)) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn) {\n var module = { exports: {} };\n\treturn fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global$1 =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\nvar fails = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nvar f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor$2(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar objectPropertyIsEnumerable = {\n\tf: f$4\n};\n\nvar createPropertyDescriptor = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\nvar toString = {}.toString;\n\nvar classofRaw = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\n\n\n\nvar toIndexedObject = function (it) {\n return indexedObject(requireObjectCoercible(it));\n};\n\nvar isObject = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nvar toPrimitive = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar has$1 = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n\nvar document$1 = global$1.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n return EXISTS ? document$1.createElement(it) : {};\n};\n\n// Thank's IE8 for his funny defineProperty\nvar ie8DomDefine = !descriptors && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(documentCreateElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nvar f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (ie8DomDefine) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\n\nvar objectGetOwnPropertyDescriptor = {\n\tf: f$3\n};\n\nvar anObject = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nvar f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (ie8DomDefine) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\nvar objectDefineProperty = {\n\tf: f$2\n};\n\nvar createNonEnumerableProperty = descriptors ? function (object, key, value) {\n return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\nvar setGlobal = function (key, value) {\n try {\n createNonEnumerableProperty(global$1, key, value);\n } catch (error) {\n global$1[key] = value;\n } return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store$1 = global$1[SHARED] || setGlobal(SHARED, {});\n\nvar sharedStore = store$1;\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof sharedStore.inspectSource != 'function') {\n sharedStore.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nvar inspectSource = sharedStore.inspectSource;\n\nvar WeakMap$1 = global$1.WeakMap;\n\nvar nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));\n\nvar shared = createCommonjsModule(function (module) {\n(module.exports = function (key, value) {\n return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n});\n\nvar id = 0;\nvar postfix = Math.random();\n\nvar uid = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\nvar keys$2 = shared('keys');\n\nvar sharedKey = function (key) {\n return keys$2[key] || (keys$2[key] = uid(key));\n};\n\nvar hiddenKeys$1 = {};\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global$1.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (nativeWeakMap) {\n var store = sharedStore.state || (sharedStore.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys$1[STATE] = true;\n set = function (it, metadata) {\n if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return has$1(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return has$1(it, STATE);\n };\n}\n\nvar internalState = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\nvar redefine = createCommonjsModule(function (module) {\nvar getInternalState = internalState.get;\nvar enforceInternalState = internalState.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has$1(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global$1) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n});\n\nvar path = global$1;\n\nvar aFunction$1 = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nvar getBuiltIn = function (namespace, method) {\n return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace])\n : path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nvar toInteger = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min$2 = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength = function (argument) {\n return argument > 0 ? min$2(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod$3 = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nvar arrayIncludes = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod$3(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod$3(false)\n};\n\nvar indexOf = arrayIncludes.indexOf;\n\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has$1(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nvar f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return objectKeysInternal(O, hiddenKeys);\n};\n\nvar objectGetOwnPropertyNames = {\n\tf: f$1\n};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nvar f = Object.getOwnPropertySymbols;\n\nvar objectGetOwnPropertySymbols = {\n\tf: f\n};\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = objectGetOwnPropertyNames.f(anObject(it));\n var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\nvar copyConstructorProperties = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = objectDefineProperty.f;\n var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nvar isForced_1 = isForced;\n\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\n\n\n\n\n\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nvar _export = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global$1;\n } else if (STATIC) {\n target = global$1[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global$1[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor$1(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n_export({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n\nvar aPossiblePrototype = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n/* eslint-disable no-proto -- safe */\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n// makes subclassing work correct for wrapped built-ins\nvar inheritIfRequired = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n objectSetPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) objectSetPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys = Object.keys || function keys(O) {\n return objectKeysInternal(O, enumBugKeys);\n};\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nvar objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\nvar html = getBuiltIn('document', 'documentElement');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO$1 = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys$1[IE_PROTO$1] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO$1] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\n// a string of all valid unicode whitespaces\nvar whitespaces = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod$2 = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nvar stringTrim = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod$2(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod$2(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod$2(3)\n};\n\nvar getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;\nvar getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\nvar defineProperty$3 = objectDefineProperty.f;\nvar trim = stringTrim.trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global$1[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys$1 = descriptors ? getOwnPropertyNames$1(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys$1.length > j; j++) {\n if (has$1(NativeNumber, key = keys$1[j]) && !has$1(NumberWrapper, key)) {\n defineProperty$3(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global$1, NUMBER, NumberWrapper);\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nvar SEMVER_SPEC_VERSION = '2.0.0';\nvar MAX_LENGTH$2 = 256;\nvar MAX_SAFE_INTEGER$2 = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */\n9007199254740991; // Max safe segment length for coercion.\n\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\nvar constants = {\n SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,\n MAX_LENGTH: MAX_LENGTH$2,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2,\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH\n};\n\nvar engineIsNode = classofRaw(global$1.process) == 'process';\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\n\nvar process$1 = global$1.process;\nvar versions = process$1 && process$1.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (engineUserAgent) {\n match = engineUserAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = engineUserAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nvar engineV8Version = version && +version;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar useSymbolAsUid = nativeSymbol\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol$1 = global$1.Symbol;\nvar createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;\n\nvar wellKnownSymbol = function (name) {\n if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (nativeSymbol && has$1(Symbol$1, name)) {\n WellKnownSymbolsStore[name] = Symbol$1[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n\nvar MATCH$1 = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nvar isRegexp = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');\n};\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nvar regexpFlags = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nvar UNSUPPORTED_Y$3 = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nvar BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nvar regexpStickyHelpers = {\n\tUNSUPPORTED_Y: UNSUPPORTED_Y$3,\n\tBROKEN_CARET: BROKEN_CARET\n};\n\nvar SPECIES$4 = wellKnownSymbol('species');\n\nvar setSpecies = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = objectDefineProperty.f;\n\n if (descriptors && Constructor && !Constructor[SPECIES$4]) {\n defineProperty(Constructor, SPECIES$4, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\nvar defineProperty$2 = objectDefineProperty.f;\nvar getOwnPropertyNames = objectGetOwnPropertyNames.f;\n\n\n\n\n\nvar enforceInternalState = internalState.enforce;\n\n\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global$1.RegExp;\nvar RegExpPrototype$1 = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED$1) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegexp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = regexpFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y$2) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype$1,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y$2 && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty$2(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype$1.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype$1;\n redefine(global$1, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y$1 && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nvar regexpExec = patchedExec;\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {\n exec: regexpExec\n});\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray || function isArray(arg) {\n return classofRaw(arg) == 'Array';\n};\n\nvar createProperty = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\nvar SPECIES$3 = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES$3];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar SPECIES$2 = wellKnownSymbol('species');\n\nvar arrayMethodHasSpeciesSupport = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return engineV8Version >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES$2] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n_export({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar debug = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? function () {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_console = console).error.apply(_console, ['SEMVER'].concat(args));\n} : function () {};\nvar debug_1 = debug;\n\nvar re_1 = createCommonjsModule(function (module, exports) {\n var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH;\n exports = module.exports = {}; // The actual regexps go on exports.re\n\n var re = exports.re = [];\n var src = exports.src = [];\n var t = exports.t = {};\n var R = 0;\n\n var createToken = function createToken(name, value, isGlobal) {\n var index = R++;\n debug_1(index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n }; // The following Regular Expressions can be used for tokenizing,\n // validating, and parsing SemVer version strings.\n // ## Numeric Identifier\n // A single `0`, or a non-zero digit followed by zero or more digits.\n\n\n createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier\n // Zero or more digits, followed by a letter or hyphen, and then zero or\n // more letters, digits, or hyphens.\n\n createToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version\n // Three dot-separated numeric identifiers.\n\n createToken('MAINVERSION', \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\"));\n createToken('MAINVERSIONLOOSE', \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\")); // ## Pre-release Version Identifier\n // A numeric identifier, or a non-numeric identifier.\n\n createToken('PRERELEASEIDENTIFIER', \"(?:\".concat(src[t.NUMERICIDENTIFIER], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\"));\n createToken('PRERELEASEIDENTIFIERLOOSE', \"(?:\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\")); // ## Pre-release Version\n // Hyphen, followed by one or more dot-separated pre-release version\n // identifiers.\n\n createToken('PRERELEASE', \"(?:-(\".concat(src[t.PRERELEASEIDENTIFIER], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIER], \")*))\"));\n createToken('PRERELEASELOOSE', \"(?:-?(\".concat(src[t.PRERELEASEIDENTIFIERLOOSE], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIERLOOSE], \")*))\")); // ## Build Metadata Identifier\n // Any combination of digits, letters, or hyphens.\n\n createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata\n // Plus sign, followed by one or more period-separated build metadata\n // identifiers.\n\n createToken('BUILD', \"(?:\\\\+(\".concat(src[t.BUILDIDENTIFIER], \"(?:\\\\.\").concat(src[t.BUILDIDENTIFIER], \")*))\")); // ## Full Version String\n // A main version, followed optionally by a pre-release version and\n // build metadata.\n // Note that the only major, minor, patch, and pre-release sections of\n // the version string are capturing groups. The build metadata is not a\n // capturing group, because it should not ever be used in version\n // comparison.\n\n createToken('FULLPLAIN', \"v?\".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('FULL', \"^\".concat(src[t.FULLPLAIN], \"$\")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n // common in the npm registry.\n\n createToken('LOOSEPLAIN', \"[v=\\\\s]*\".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('LOOSE', \"^\".concat(src[t.LOOSEPLAIN], \"$\"));\n createToken('GTLT', '((?:<|>)?=?)'); // Something like \"2.*\" or \"1.2.x\".\n // Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n // Only the first item is strictly required.\n\n createToken('XRANGEIDENTIFIERLOOSE', \"\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|x|X|\\\\*\"));\n createToken('XRANGEIDENTIFIER', \"\".concat(src[t.NUMERICIDENTIFIER], \"|x|X|\\\\*\"));\n createToken('XRANGEPLAIN', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\".concat(src[t.PRERELEASE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGEPLAINLOOSE', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\".concat(src[t.PRERELEASELOOSE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('XRANGELOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Coercion.\n // Extract anything that could conceivably be a part of a valid semver\n\n createToken('COERCE', \"\".concat('(^|[^\\\\d])' + '(\\\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, \"})\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:$|[^\\\\d])\");\n createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges.\n // Meaning is \"reasonably at or greater than\"\n\n createToken('LONETILDE', '(?:~>?)');\n createToken('TILDETRIM', \"(\\\\s*)\".concat(src[t.LONETILDE], \"\\\\s+\"), true);\n exports.tildeTrimReplace = '$1~';\n createToken('TILDE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('TILDELOOSE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Caret ranges.\n // Meaning is \"at least and backwards compatible with\"\n\n createToken('LONECARET', '(?:\\\\^)');\n createToken('CARETTRIM', \"(\\\\s*)\".concat(src[t.LONECARET], \"\\\\s+\"), true);\n exports.caretTrimReplace = '$1^';\n createToken('CARET', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('CARETLOOSE', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\n\n createToken('COMPARATORLOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \")$|^$\"));\n createToken('COMPARATOR', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.FULLPLAIN], \")$|^$\")); // An expression to strip any whitespace between the gtlt and the thing\n // it modifies, so that `> 1.2.3` ==> `>1.2.3`\n\n createToken('COMPARATORTRIM', \"(\\\\s*)\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \"|\").concat(src[t.XRANGEPLAIN], \")\"), true);\n exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4`\n // Note that these all use the loose form, because they'll be\n // checked against either the strict or loose comparator form\n // later.\n\n createToken('HYPHENRANGE', \"^\\\\s*(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s*$\");\n createToken('HYPHENRANGELOOSE', \"^\\\\s*(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s*$\"); // Star ranges basically just allow anything at all.\n\n createToken('STAR', '(<|>)?=?\\\\s*\\\\*'); // >=0.0.0 is like a star\n\n createToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$');\n createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$');\n});\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n\n\n\n\n\n\nvar SPECIES$1 = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES$1] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod$1 = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nvar stringMultibyte = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod$1(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod$1(true)\n};\n\nvar charAt$1 = stringMultibyte.charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nvar advanceStringIndex = function (S, index, unicode) {\n return index + (unicode ? charAt$1(S, index).length : 1);\n};\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nvar regexpExecAbstract = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classofRaw(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n// @@match logic\nfixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regexpExecAbstract(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regexpExecAbstract(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nvar stringTrimForced = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n\nvar $trim = stringTrim.trim;\n\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n_export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n\nvar aFunction = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = indexedObject(O);\n var boundFunction = functionBindContext(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nvar arrayIteration = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n\nvar $map = arrayIteration.map;\n\n\nvar HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nvar speciesConstructor = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\nvar UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegexp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n\nvar arrayMethodIsStrict = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = indexedObject != Object;\nvar STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n_export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n\nvar $filter = arrayIteration.filter;\n\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nvar opts = ['includePrerelease', 'loose', 'rtl'];\n\nvar parseOptions = function parseOptions(options) {\n return !options ? {} : _typeof(options) !== 'object' ? {\n loose: true\n } : opts.filter(function (k) {\n return options[k];\n }).reduce(function (options, k) {\n options[k] = true;\n return options;\n }, {});\n};\n\nvar parseOptions_1 = parseOptions;\n\nvar numeric = /^[0-9]+$/;\n\nvar compareIdentifiers$1 = function compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\n\nvar rcompareIdentifiers = function rcompareIdentifiers(a, b) {\n return compareIdentifiers$1(b, a);\n};\n\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers: rcompareIdentifiers\n};\n\nvar MAX_LENGTH$1 = constants.MAX_LENGTH,\n MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER;\nvar re$1 = re_1.re,\n t$1 = re_1.t;\nvar compareIdentifiers = identifiers.compareIdentifiers;\n\nvar SemVer = /*#__PURE__*/function () {\n function SemVer(version, options) {\n _classCallCheck(this, SemVer);\n\n options = parseOptions_1(options);\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n if (version.length > MAX_LENGTH$1) {\n throw new TypeError(\"version is longer than \".concat(MAX_LENGTH$1, \" characters\"));\n }\n\n debug_1('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n\n this.includePrerelease = !!options.includePrerelease;\n var m = version.trim().match(options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]);\n\n if (!m) {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n this.raw = version; // these are actually numbers\n\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version');\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version');\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version');\n } // numberify any prerelease numeric ids\n\n\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n\n return id;\n });\n }\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n\n _createClass(SemVer, [{\n key: \"format\",\n value: function format() {\n this.version = \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n\n if (this.prerelease.length) {\n this.version += \"-\".concat(this.prerelease.join('.'));\n }\n\n return this.version;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.version;\n }\n }, {\n key: \"compare\",\n value: function compare(other) {\n debug_1('SemVer.compare', this.version, this.options, other);\n\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0;\n }\n\n other = new SemVer(other, this.options);\n }\n\n if (other.version === this.version) {\n return 0;\n }\n\n return this.compareMain(other) || this.comparePre(other);\n }\n }, {\n key: \"compareMain\",\n value: function compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n }, {\n key: \"comparePre\",\n value: function comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n } // NOT having a prerelease is > having one\n\n\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n\n var i = 0;\n\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n }, {\n key: \"compareBuild\",\n value: function compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n var i = 0;\n\n do {\n var a = this.build[i];\n var b = other.build[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n } // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n\n }, {\n key: \"inc\",\n value: function inc(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier);\n }\n\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0];\n } else {\n var i = this.prerelease.length;\n\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0);\n }\n }\n\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0];\n }\n } else {\n this.prerelease = [identifier, 0];\n }\n }\n\n break;\n\n default:\n throw new Error(\"invalid increment argument: \".concat(release));\n }\n\n this.format();\n this.raw = this.version;\n return this;\n }\n }]);\n\n return SemVer;\n}();\n\nvar semver = SemVer;\n\nvar MAX_LENGTH = constants.MAX_LENGTH;\nvar re = re_1.re,\n t = re_1.t;\n\nvar parse = function parse(version, options) {\n options = parseOptions_1(options);\n\n if (version instanceof semver) {\n return version;\n }\n\n if (typeof version !== 'string') {\n return null;\n }\n\n if (version.length > MAX_LENGTH) {\n return null;\n }\n\n var r = options.loose ? re[t.LOOSE] : re[t.FULL];\n\n if (!r.test(version)) {\n return null;\n }\n\n try {\n return new semver(version, options);\n } catch (er) {\n return null;\n }\n};\n\nvar parse_1 = parse;\n\nvar valid = function valid(version, options) {\n var v = parse_1(version, options);\n return v ? v.version : null;\n};\n\nvar valid_1 = valid;\n\nvar major = function major(a, loose) {\n return new semver(a, loose).major;\n};\n\nvar major_1 = major;\n\nvar packageJson$1 = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus =\n/** @class */\nfunction () {\n function ProxyBus(bus) {\n if (typeof bus.getVersion !== 'function' || !valid_1(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if (major_1(bus.getVersion()) !== major_1(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n ProxyBus.prototype.getVersion = function () {\n return packageJson$1.version;\n };\n\n ProxyBus.prototype.subscribe = function (name, handler) {\n this.bus.subscribe(name, handler);\n };\n\n ProxyBus.prototype.unsubscribe = function (name, handler) {\n this.bus.unsubscribe(name, handler);\n };\n\n ProxyBus.prototype.emit = function (name, event) {\n this.bus.emit(name, event);\n };\n\n return ProxyBus;\n}();\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype$1 = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype$1[UNSCOPABLES] == undefined) {\n objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, {\n configurable: true,\n value: objectCreate(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables = function (key) {\n ArrayPrototype$1[UNSCOPABLES][key] = true;\n};\n\nvar iterators = {};\n\nvar correctPrototypeGetter = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has$1(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\nvar ITERATOR$5 = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS$1 = false;\n\nvar returnThis$2 = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;\n else {\n PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype$2[ITERATOR$5].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!has$1(IteratorPrototype$2, ITERATOR$5)) {\n createNonEnumerableProperty(IteratorPrototype$2, ITERATOR$5, returnThis$2);\n}\n\nvar iteratorsCore = {\n IteratorPrototype: IteratorPrototype$2,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1\n};\n\nvar defineProperty$1 = objectDefineProperty.f;\n\n\n\nvar TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');\n\nvar setToStringTag = function (it, TAG, STATIC) {\n if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$3)) {\n defineProperty$1(it, TO_STRING_TAG$3, { configurable: true, value: TAG });\n }\n};\n\nvar IteratorPrototype$1 = iteratorsCore.IteratorPrototype;\n\n\n\n\n\nvar returnThis$1 = function () { return this; };\n\nvar createIteratorConstructor = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false);\n iterators[TO_STRING_TAG] = returnThis$1;\n return IteratorConstructor;\n};\n\nvar IteratorPrototype = iteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR$4 = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nvar defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR$4]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (objectSetPrototypeOf) {\n objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if (IterablePrototype[ITERATOR$4] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);\n }\n iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState$2 = internalState.set;\nvar getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nvar es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState$2(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState$1(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\niterators.Arguments = iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\nvar freezing = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\nvar internalMetadata = createCommonjsModule(function (module) {\nvar defineProperty = objectDefineProperty.f;\n\n\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (freezing && meta.REQUIRED && isExtensible(it) && !has$1(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys$1[METADATA] = true;\n});\n\nvar ITERATOR$3 = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nvar isArrayIteratorMethod = function (it) {\n return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$3] === it);\n};\n\nvar TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG$2] = 'z';\n\nvar toStringTagSupport = String(test) === '[object z]';\n\nvar TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nvar classof = toStringTagSupport ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\nvar ITERATOR$2 = wellKnownSymbol('iterator');\n\nvar getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR$2]\n || it['@@iterator']\n || iterators[classof(it)];\n};\n\nvar iteratorClose = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\nvar anInstance = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\nvar ITERATOR$1 = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR$1] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nvar checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR$1] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\nvar collection = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global$1[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced_1(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n internalMetadata.REQUIRED = true;\n } else if (isForced_1(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n _export({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n\nvar redefineAll = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\nvar defineProperty = objectDefineProperty.f;\n\n\n\n\n\n\n\n\nvar fastKey = internalMetadata.fastKey;\n\n\nvar setInternalState$1 = internalState.set;\nvar internalStateGetterFor = internalState.getterFor;\n\nvar collectionStrong = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState$1(that, {\n type: CONSTRUCTOR_NAME,\n index: objectCreate(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!descriptors) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (descriptors) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (descriptors) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (descriptors) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (descriptors) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState$1(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nvar objectToString = toStringTagSupport ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!toStringTagSupport) {\n redefine(Object.prototype, 'toString', objectToString, { unsafe: true });\n}\n\nvar charAt = stringMultibyte.charAt;\n\n\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = internalState.set;\nvar getInternalState = internalState.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nvar domIterables = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = es_array_iterator.values;\n\nfor (var COLLECTION_NAME$1 in domIterables) {\n var Collection$1 = global$1[COLLECTION_NAME$1];\n var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;\n if (CollectionPrototype$1) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype$1, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype$1[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype$1[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG, COLLECTION_NAME$1);\n }\n if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];\n }\n }\n }\n}\n\nvar $forEach = arrayIteration.forEach;\n\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nvar arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n\nfor (var COLLECTION_NAME in domIterables) {\n var Collection = global$1[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);\n } catch (error) {\n CollectionPrototype.forEach = arrayForEach;\n }\n}\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus =\n/** @class */\nfunction () {\n function SimpleBus() {\n this.handlers = new Map();\n }\n\n SimpleBus.prototype.getVersion = function () {\n return packageJson.version;\n };\n\n SimpleBus.prototype.subscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n };\n\n SimpleBus.prototype.unsubscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n };\n\n SimpleBus.prototype.emit = function (name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n };\n\n return SimpleBus;\n}();\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\r\n * Register an event listener\r\n *\r\n * @param name name of the event\r\n * @param handler callback invoked for every matching event emitted on the bus\r\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\r\n * Unregister a previously registered event listener\r\n *\r\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\r\n *\r\n * @param name name of the event\r\n * @param handler callback passed to `subscribed`\r\n */\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\r\n * Emit an event\r\n *\r\n * @param name name of the event\r\n * @param event event payload\r\n */\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n\nexport { emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=60)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)(\"wks\"),r=n(30),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&\"function\"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){\"use strict\";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(9);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)(\"keys\"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g=\"Number\"==o(n(44)(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;l<c;l++)if((s=a.charCodeAt(l))<48||s>r)return NaN;return parseInt(a,i)}}return+e};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):\"Number\"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,\"Number\",h)}},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,preferredOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return O(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return O(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit(\"select\",r,this.id),this.$emit(\"input\",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i=\"object\"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit(\"input\",r,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.preferredOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--group\",\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?[\"multiselect__option--group\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]:\"multiselect__option--disabled\"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){\"use strict\";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){\"use strict\";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:\"vue-multiselect\",mixins:[r.a,o.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"100%\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},function(t,e,n){\"use strict\";var i=n(2);t.exports=function(){var t=i(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(21)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(40).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(79),r=n(25),o=n(18),s=n(29),u=n(12),a=n(41),l=Object.getOwnPropertyDescriptor;e.f=n(4)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(12),r=n(18),o=n(37)(!1),s=n(27)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var i=n(46),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(5),o=n(43);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var i=n(10),r=n(0),o=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(24)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(t,e,n){var i=n(2),r=n(14),o=n(1)(\"species\");t.exports=function(t,e){var n,s=i(t).constructor;return void 0===s||void 0==(n=i(s)[o])?e:r(n)}},function(t,e,n){var i=n(3),r=n(16),o=n(7),s=n(84),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e,n){var i,r,o,s=n(11),u=n(68),a=n(40),l=n(21),c=n(0),f=c.process,p=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,v=c.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},i(g),g},h=function(t){delete y[t]},\"process\"==n(9)(f)?i=function(t){f.nextTick(s(m,t,1))}:v&&v.now?i=function(t){v.now(s(m,t,1))}:d?(r=new d,o=r.port2,r.port1.onmessage=b,i=s(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(i=function(t){c.postMessage(t+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):i=\"onreadystatechange\"in l(\"script\")?function(t){a.appendChild(l(\"script\")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)(\"find\")},function(t,e,n){\"use strict\";var i,r,o,s,u=n(24),a=n(0),l=n(11),c=n(38),f=n(3),p=n(5),h=n(14),d=n(61),v=n(66),g=n(50),y=n(52).set,m=n(75)(),b=n(43),_=n(80),x=n(86),w=n(48),S=a.TypeError,O=a.process,L=O&&O.versions,k=L&&L.v8||\"\",P=a.Promise,T=\"process\"==c(O),V=function(){},E=r=b.f,A=!!function(){try{var t=P.resolve(1),e=(t.constructor={})[n(1)(\"species\")]=function(t){t(V,V)};return(T||\"function\"==typeof PromiseRejectionEvent)&&t.then(V)instanceof e&&0!==k.indexOf(\"6.6\")&&-1===x.indexOf(\"Chrome/66\")}catch(t){}}(),C=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},D=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var i=t._v,r=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,u=r?e.ok:e.fail,a=e.resolve,l=e.reject,c=e.domain;try{u?(r||(2==t._h&&$(t),t._h=1),!0===u?n=i:(c&&c.enter(),n=u(i),c&&(c.exit(),s=!0)),n===e.promise?l(S(\"Promise-chain cycle\")):(o=C(n))?o.call(n,a,l):a(n)):l(i)}catch(t){c&&!s&&c.exit(),l(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(a,function(){var e,n,i,r=t._v,o=N(t);if(o&&(e=_(function(){T?O.emit(\"unhandledRejection\",r,t):(n=a.onunhandledrejection)?n({promise:t,reason:r}):(i=a.console)&&i.error&&i.error(\"Unhandled promise rejection\",r)}),t._h=T||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},$=function(t){y.call(a,function(){var e;T?O.emit(\"rejectionHandled\",t):(e=a.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),D(e,!0))},M=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S(\"Promise can't be resolved itself\");(e=C(t))?m(function(){var i={_w:n,_d:!1};try{e.call(t,l(M,i,1),l(F,i,1))}catch(t){F.call(i,t)}}):(n._v=t,n._s=1,D(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};A||(P=function(t){d(this,P,\"Promise\",\"_h\"),h(t),i.call(this);try{t(l(M,this,1),l(F,this,1))}catch(t){F.call(this,t)}},i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=n(81)(P.prototype,{then:function(t,e){var n=E(g(this,P));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(M,t,1),this.reject=l(F,t,1)},b.f=E=function(t){return t===P||t===s?new o(t):r(t)}),f(f.G+f.W+f.F*!A,{Promise:P}),n(26)(P,\"Promise\"),n(83)(\"Promise\"),s=n(10).Promise,f(f.S+f.F*!A,\"Promise\",{reject:function(t){var e=E(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(u||!A),\"Promise\",{resolve:function(t){return w(u&&this===s?P:this,t)}}),f(f.S+f.F*!(A&&n(73)(function(t){P.all(t).catch(V)})),\"Promise\",{all:function(t){var e=this,n=E(e),i=n.resolve,r=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var u=o++,a=!1;n.push(void 0),s++,e.resolve(t).then(function(t){a||(a=!0,n[u]=t,--s||i(n))},r)}),--s||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=E(e),i=n.reject,r=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){\"use strict\";var i=n(3),r=n(10),o=n(0),s=n(50),u=n(48);i(i.P+i.R,\"Promise\",{finally:function(t){var e=s(this,r.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";function i(t){n(99)}var r=n(35),o=n(101),s=n(100),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){\"use strict\";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}e.a=i},function(t,e,n){\"use strict\";function i(t){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":i(t)})(t)}e.a=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(34),r=(n.n(i),n(55)),o=(n.n(r),n(56)),s=(n.n(o),n(57)),u=n(32),a=n(33);n.d(e,\"Multiselect\",function(){return s.a}),n.d(e,\"multiselectMixin\",function(){return u.a}),n.d(e,\"pointerMixin\",function(){return a.a}),e.default=s.a},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var i=n(14),r=n(28),o=n(23),s=n(19);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(5),r=n(42),o=n(1)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(63);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){\"use strict\";var i=n(8),r=n(6),o=n(7),s=n(16),u=n(1);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e,n){var i=n(11),r=n(70),o=n(69),s=n(2),u=n(19),a=n(87),l={},c={},e=t.exports=function(t,e,n,f,p){var h,d,v,g,y=p?function(){return t}:a(t),m=i(n,f,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(o(y)){for(h=u(t.length);h>b;b++)if((g=e?m(s(d=t[b])[0],d[1]):m(t[b]))===l||g===c)return g}else for(v=y.call(t);!(d=v.next()).done;)if((g=r(v,m,d.value,e))===l||g===c)return g};e.BREAK=l,e.RETURN=c},function(t,e,n){var i=n(5),r=n(82).set;t.exports=function(t,e,n){var o,s=e.constructor;return s!==n&&\"function\"==typeof s&&(o=s.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var i=n(15),r=n(1)(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){\"use strict\";var i=n(44),r=n(25),o=n(26),s={};n(8)(s,n(1)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){\"use strict\";var i=n(24),r=n(3),o=n(6),s=n(8),u=n(15),a=n(71),l=n(26),c=n(78),f=n(1)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,y){a(n,e,d);var m,b,_,x=function(t){if(!p&&t in L)return L[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",S=\"values\"==v,O=!1,L=t.prototype,k=L[f]||L[\"@@iterator\"]||v&&L[v],P=k||x(v),T=v?S?x(\"entries\"):P:void 0,V=\"Array\"==e?L.entries||k:k;if(V&&(_=c(V.call(new t)))!==Object.prototype&&_.next&&(l(_,w,!0),i||\"function\"==typeof _[f]||s(_,f,h)),S&&k&&\"values\"!==k.name&&(O=!0,P=function(){return k.call(this)}),i&&!y||!p&&!O&&L[f]||s(L,f,P),u[e]=P,u[w]=h,v)if(m={values:S?P:x(\"values\"),keys:g?P:x(\"keys\"),entries:T},y)for(b in m)b in L||o(L,b,m[b]);else r(r.P+r.F*(p||O),e,m);return m}},function(t,e,n){var i=n(1)(\"iterator\"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(0),r=n(52).set,o=i.MutationObserver||i.WebKitMutationObserver,s=i.process,u=i.Promise,a=\"process\"==n(9)(s);t.exports=function(){var t,e,n,l=function(){var i,r;for(a&&(i=s.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(a)n=function(){s.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(u&&u.resolve){var c=u.resolve(void 0);n=function(){c.then(l)}}else n=function(){r.call(i,l)};else{var f=!0,p=document.createTextNode(\"\");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i=n(13),r=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(46),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(12),r=n(28),o=n(27)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var i=n(6);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,i){try{i=n(11)(Function.call,n(45).f(Object.prototype,\"__proto__\").set,2),i(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){\"use strict\";var i=n(0),r=n(13),o=n(4),s=n(1)(\"species\");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(53),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(0),r=i.navigator;t.exports=r&&r.userAgent||\"\"},function(t,e,n){var i=n(38),r=n(1)(\"iterator\"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t[\"@@iterator\"]||o[i(t)]}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(2);i(i.P+i.F*!n(17)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(37)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(17)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(3);i(i.S,\"Array\",{isArray:n(42)})},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(1);i(i.P+i.F*!n(17)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(62);i(i.P+i.F*!n(17)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+\"\"!=\"Invalid Date\"&&n(6)(i,\"toString\",function(){var t=o.call(this);return t===t?r.call(this):\"Invalid Date\"})},function(t,e,n){n(4)&&\"g\"!=/./g.flags&&n(13).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(39)})},function(t,e,n){n(65)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(94);var i=n(2),r=n(39),o=n(4),s=/./.toString,u=function(t){n(6)(RegExp.prototype,\"toString\",t,!0)};n(7)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var t=i(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):\"toString\"!=s.name&&u(function(){return s.call(this)})},function(t,e,n){\"use strict\";n(51)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var i=n(34),r=n(47),o=n(6),s=n(0),u=n(8),a=n(15),l=n(1),c=l(\"iterator\"),f=l(\"toStringTag\"),p=a.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=r(h),v=0;v<d.length;v++){var g,y=d[v],m=h[y],b=s[y],_=b&&b.prototype;if(_&&(_[c]||u(_,c,p),_[f]||u(_,f,y),a[y]=p,m))for(g in i)_[g]||o(_,g,i[g],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[t._t(\"selection\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e,i){return[t._t(\"tag\",[n(\"span\",{key:i,staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keypress:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),t.searchable?n(\"input\",{ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"nope\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{staticClass:\"multiselect__placeholder\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},attrs:{tabindex:\"-1\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")],{search:t.search})],2)]),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:\"showNoOptions && (options.length === 0 && !search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noOptions\",[t._v(\"List is empty.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","import { EventBus } from \"./EventBus\"\nimport { ProxyBus } from \"./ProxyBus\"\nimport { SimpleBus } from \"./SimpleBus\"\n\ndeclare global {\n interface Window {\n OC: any\n _nc_event_bus: any\n }\n}\n\nfunction getBus(): EventBus {\n if ((typeof window.OC !== 'undefined') && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!')\n window._nc_event_bus = window.OC._eventBus\n }\n\n // Either use an existing event bus instance or create one\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus)\n } else {\n return window._nc_event_bus = new SimpleBus()\n }\n}\n\nconst bus = getBus()\n\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nexport function subscribe(name: string, handler: (string) => void): void {\n bus.subscribe(name, handler)\n}\n\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nexport function unsubscribe(name: string, handler: (string) => void): void {\n bus.unsubscribe(name, handler)\n}\n\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nexport function emit(name: string, event: object): void {\n bus.emit(name, event)\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","!function(t,A){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=A():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],A):\"object\"==typeof exports?exports[\"Components/Avatar\"]=A():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=A())}(window,(function(){return function(t){var A={};function n(e){if(A[e])return A[e].exports;var i=A[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=A,n.d=function(t,A,e){n.o(t,A)||Object.defineProperty(t,A,{enumerable:!0,get:e})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,A){if(1&A&&(t=n(t)),8&A)return t;if(4&A&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&A&&\"string\"!=typeof t)for(var i in t)n.d(e,i,function(A){return t[A]}.bind(null,i));return e},n.n=function(t){var A=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(A,\"a\",A),A},n.o=function(t,A){return Object.prototype.hasOwnProperty.call(t,A)},n.p=\"/dist/\",n(n.s=80)}([function(t,A,n){\"use strict\";function e(t,A){return function(t){if(Array.isArray(t))return t}(t)||function(t,A){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],e=!0,i=!1,o=void 0;try{for(var a,r=t[Symbol.iterator]();!(e=(a=r.next()).done)&&(n.push(a.value),!A||n.length!==A);e=!0);}catch(t){i=!0,o=t}finally{try{e||null==r.return||r.return()}finally{if(i)throw o}}return n}(t,A)||function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t,A)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}t.exports=function(t){var A=e(t,4),n=A[1],i=A[3];if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),r=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,A,n){\"use strict\";t.exports=function(t){var A=[];return A.toString=function(){return this.map((function(A){var n=t(A);return A[2]?\"@media \".concat(A[2],\" {\").concat(n,\"}\"):n})).join(\"\")},A.i=function(t,n,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(e)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);e&&i[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),A.push(s))}},A}},function(t,A,n){\"use strict\";var e,i=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},o=function(){var t={};return function(A){if(void 0===t[A]){var n=document.querySelector(A);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[A]=n}return t[A]}}(),a=[];function r(t){for(var A=-1,n=0;n<a.length;n++)if(a[n].identifier===t){A=n;break}return A}function s(t,A){for(var n={},e=[],i=0;i<t.length;i++){var o=t[i],s=A.base?o[0]+A.base:o[0],c=n[s]||0,l=\"\".concat(s,\" \").concat(c);n[s]=c+1;var d=r(l),u={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:l,updater:m(u,A),references:1}),e.push(l)}return e}function c(t){var A=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var i=n.nc;i&&(e.nonce=i)}if(Object.keys(e).forEach((function(t){A.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(A);else{var a=o(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(A)}return A}var l,d=(l=[],function(t,A){return l[t]=A,l.filter(Boolean).join(\"\\n\")});function u(t,A,n,e){var i=n?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(A,i);else{var o=document.createTextNode(i),a=t.childNodes;a[A]&&t.removeChild(a[A]),a.length?t.insertBefore(o,a[A]):t.appendChild(o)}}function g(t,A,n){var e=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var p=null,f=0;function m(t,A){var n,e,i;if(A.singleton){var o=f++;n=p||(p=c(A)),e=u.bind(null,n,o,!1),i=u.bind(null,n,o,!0)}else n=c(A),e=g.bind(null,n,A),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return e(t),function(A){if(A){if(A.css===t.css&&A.media===t.media&&A.sourceMap===t.sourceMap)return;e(t=A)}else i()}}t.exports=function(t,A){(A=A||{}).singleton||\"boolean\"==typeof A.singleton||(A.singleton=i());var n=s(t=t||[],A);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<n.length;e++){var i=r(n[e]);a[i].references--}for(var o=s(t,A),c=0;c<n.length;c++){var l=r(n[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}n=o}}}},function(t,A,n){\"use strict\";function e(t,A,n,e,i,o,a,r){var s,c=\"function\"==typeof t?t.options:t;if(A&&(c.render=A,c.staticRenderFns=n,c._compiled=!0),e&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=r?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,A){return s.call(A),l(t,A)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}n.d(A,\"a\",(function(){return e}))},function(t,A,n){\"use strict\";t.exports=function(t,A){return A||(A={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),A.hash&&(t+=A.hash),/[\"'() \\t\\n]/.test(t)||A.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,A){t.exports=require(\"vue\")},function(t,A){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,A){t.exports=require(\"v-tooltip\")},function(t,A,n){\"use strict\";A.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,A,n){\"use strict\";A.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},,function(t,A){t.exports=require(\"@nextcloud/router\")},function(t,A){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A,n){\"use strict\";n.r(A);var e=n(7),i=n(2),o=n.n(i),a=n(23),r={insert:\"head\",singleton:!1};o()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1;A.default=e.VTooltip},,function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},,function(t,A,n){\"use strict\";var e={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(A){A?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),a=n(19),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(3)),c=n(20),l=n.n(c),d=Object(s.a)(e,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),A(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(d);A.a=d.exports},function(t,A){t.exports=require(\"@nextcloud/event-bus\")},function(t,A){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.js\")},,,function(t,A){t.exports=require(\"@nextcloud/auth\")},function(t,A){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,A,n){\"use strict\";n.r(A);var e=n(5),i=new(n.n(e).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});A.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,A){t.exports=require(\"@nextcloud/axios\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,A){t.exports=require(\"core-js/modules/web.url.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,A){t.exports=require(\"v-click-outside\")},function(t,A){t.exports=require(\"striptags\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";n.d(A,\"a\",(function(){return e.default})),n.d(A,\"b\",(function(){return i.default})),n.d(A,\"c\",(function(){return o.default})),n.d(A,\"d\",(function(){return a.default})),n.d(A,\"e\",(function(){return g}));var e=n(75),i=n(76),o=n(36),a=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),c=n(13),l=n(82),d=n(34);function u(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var A,n=this;return(A=regeneratorRuntime.mark((function A(){var e,i,o,a,r,u,g,p,f;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(e=Object(l.getCapabilities)(),Object.prototype.hasOwnProperty.call(e,\"user_status\")&&e.user_status.enabled){A.next=3;break}return A.abrupt(\"return\");case 3:if(Object(d.getCurrentUser)()){A.next=5;break}return A.abrupt(\"return\");case 5:return A.prev=5,A.next=8,s.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:i=A.sent,o=i.data,a=o.ocs.data,r=a.status,u=a.message,g=a.icon,n.userStatus.status=r,n.userStatus.message=u||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,A.next=22;break;case 17:if(A.prev=17,A.t0=A.catch(5),404!==A.t0.response.status||0!==(null===(p=A.t0.response.data.ocs)||void 0===p||null===(f=p.data)||void 0===f?void 0:f.length)){A.next=21;break}return A.abrupt(\"return\");case 21:console.error(A.t0);case 22:case\"end\":return A.stop()}}),A,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(e,i){var o=A.apply(t,n);function a(t){u(o,e,i,a,r,\"next\",t)}function r(t){u(o,e,i,a,r,\"throw\",t)}a(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,A){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,A){t.exports=require(\"linkifyjs/string\")},,,,function(t,A){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,A){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,A){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,A,n){\"use strict\";n.r(A),n.d(A,\"USERID_REGEX\",(function(){return v})),n.d(A,\"USERID_REGEX_WITH_SPACE\",(function(){return B}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var e=n(62),i=n.n(e),o=n(48),a=n.n(o),r=n(43),s=n.n(r),c=n(5),l=n.n(c),d=n(13),u={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,A){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:A})}}},g=n(2),p=n.n(g),f=n(44),m={insert:\"head\",singleton:!1},C=(p()(f.a,m),f.a.locals,n(3)),b=Object(C.a)(u,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),B=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");A.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var A=this;return i()(t).split(v).map((function(t){return t.split(B)})).flat().map((function(t){if(!t.startsWith(\"@\"))return a()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+A.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var A=t.replace(/<br>/gim,\"\\n\");return A=(A=(A=A.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),A=s()(A,\"<div>\"),A=s()(A)},genSelectTemplate:function(t){var A=this.userData[t];return A?this.renderComponentHtml(A,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,A){var n=new(l.a.extend(A))({propsData:t}),e=document.createElement(\"div\"),i=document.createElement(\"div\");e.style.display=\"none\",e.appendChild(i),document.body.appendChild(e),n.$mount(i);var o=e.innerHTML;return n.$destroy(),e.remove(),o}}}},,function(t,A){t.exports=require(\"escape-html\")},function(t,A){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,A,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction e(t,A,n){this.r=t,this.g=A,this.b=n}function i(t,A,n){var i=[];i.push(A);for(var o=function(t,A){var n=new Array(3);return n[0]=(A[1].r-A[0].r)/t,n[1]=(A[1].g-A[0].g)/t,n[2]=(A[1].b-A[0].b)/t,n}(t,[A,n]),a=1;a<t;a++){var r=parseInt(A.r+o[0]*a,10),s=parseInt(A.g+o[1]*a,10),c=parseInt(A.b+o[2]*a,10);i.push(new e(r,s,c))}return i}A.a=function(t){t||(t=6);var A=new e(182,70,157),n=new e(221,203,85),o=new e(0,130,201),a=i(t,A,n),r=i(t,n,o),s=i(t,o,A);return a.concat(r).concat(s)}},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o),r=n(4),s=n.n(r),c=n(8),l=n(9),d=n(10),u=n(11),g=a()(i.a),p=s()(c.a),f=s()(l.a),m=s()(d.a),C=s()(u.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+p+\");src:url(\"+p+') format(\"embedded-opentype\"),url('+f+') format(\"woff\"),url('+m+') format(\"truetype\"),url('+C+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=g},function(t,A){},,,,,,,,,function(t,A,n){\"use strict\";n.r(A);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function e(t,A){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t))||A&&t&&\"number\"==typeof t.length){n&&(t=n);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var A=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===A.length||!this.hasNodeOrAnyParentClass(t.target,A)},hasNodeOrAnyParentClass:function(t,A){var n,i=e(A);try{for(i.s();!(n=i.n()).done;){var o,a=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(a))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,A)}}}},function(t,A,n){\"use strict\";n.r(A),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,A,n){\"use strict\";n.r(A);n(6),n(26),n(16),n(17),n(18),n(40);var e={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),a=n(53),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(54)),c={insert:\"head\",singleton:!1},l=(o()(s.a,c),s.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(l.a)(e,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(A){return A.preventDefault(),t.item.action(A)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(A){var n=t.item.model,e=A.target,i=!!e.checked;if(Array.isArray(n)){var o=t._i(n,null);e.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(A){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(A){A.target.composing||t.$set(t.item,\"model\",A.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},u=n(55),g={insert:\"head\",singleton:!1},p=(o()(u.a,g),u.a.locals,n(56)),f=n.n(p),m=Object(l.a)(d,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return A(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof f.a&&f()(m);var C=m.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=C},,function(t,A){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,A,n){\"use strict\";n.r(A);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var e=n(86),i=n(42),o=n(77),a=n(34),r=n(29),s=n(37),c=n.n(s),l=n(13),d=n(21),u=n(84),g=n(45),p=n(28);function f(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}function m(t){return function(){var A=this,n=arguments;return new Promise((function(e,i){var o=t.apply(A,n);function a(t){f(o,e,i,a,r,\"next\",t)}function r(t){f(o,e,i,a,r,\"throw\",t)}a(void 0)}))}}var C=Object(e.getBuilder)(\"nextcloud\").persist().build();function b(t){var A=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof A?Boolean(A):null}function v(t,A){t&&C.setItem(\"user-has-avatar.\"+t,A)}var B={name:\"Avatar\",directives:{tooltip:d.default,ClickOutside:i.directive},components:{Popover:p.a,PopoverMenu:o.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(a.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var A=Object(u.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+A.r+\", \"+A.g+\", \"+A.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var A=this.getUserIdentifier,n=A.indexOf(\" \");\"\"===A?t=\"?\":(t=String.fromCodePoint(A.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(A.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,A,n,e=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,A=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(A),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(e):e}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t.hasMenu){A.next=2;break}return A.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){A.next=5;break}return A.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return A.stop()}}),A)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){var n,e,i;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t.contactsMenuLoading=!0,A.prev=1,n=encodeURIComponent(t.user),A.next=5,c.a.post(Object(l.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:e=A.sent,i=e.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,A.next=13;break;case 10:A.prev=10,A.t0=A.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return A.stop()}}),A,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),A=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,A)}},avatarUrlGenerator:function(t,A){var n,e=\"/avatar/{user}/{size}\";this.isGuest&&(e=\"/avatar/guest/{user}/{size}\");var i=Object(l.generateUrl)(e,{user:t,size:A});return t===(null===(n=Object(a.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var A=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof e)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===e&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){A.avatarUrlLoaded=t,n&&(A.avatarSrcSetLoaded=n),A.isAvatarLoaded=!0,v(A.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),A.avatarUrlLoaded=null,A.avatarSrcSetLoaded=null,A.userDoesNotExist=!0,A.isAvatarLoaded=!1,v(A.user,!1)},n&&(i.srcset=n),i.src=t}}},h=n(2),x=n.n(h),M=n(65),I={insert:\"head\",singleton:!1},w=(x()(M.a,I),M.a.locals,n(3)),y=n(66),E=n.n(y),T=Object(w.a)(B,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(T);var D=T.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=D},function(t,A){t.exports=require(\"md5\")},function(t,A){t.exports=require(\"@nextcloud/capabilities\")},,function(t,A,n){\"use strict\";n.r(A);n(15),n(92),n(25);var e=n(81),i=n.n(e),o=n(64),a=function(t){var A=t.toLowerCase();null===A.match(/^([0-9a-f]{4}-?){8}$/)&&(A=i()(A)),A=A.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,A){for(var n=0,e=[],i=0;i<t.length;i++)e.push(parseInt(t.charAt(i),16)%16);for(var o in e)n+=e[o];return parseInt(parseInt(n,10)%A,10)}(A,18)]};A.default=a},,function(t,A){t.exports=require(\"@nextcloud/browser-storage\")},,,function(t,A){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.match.js\")},,,,,,,,,,,function(t,A){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],r):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=r():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=r())}(window,(function(){return function(t){var r={};function n(o){if(r[o])return r[o].exports;var e=r[o]={i:o,l:!1,exports:{}};return t[o].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=t,n.c=r,n.d=function(t,r,o){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var e in t)n.d(o,e,function(r){return t[r]}.bind(null,e));return o},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p=\"/dist/\",n(n.s=21)}({0:function(t,r,n){\"use strict\";function o(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],o=!0,e=!1,i=void 0;try{for(var a,c=t[Symbol.iterator]();!(o=(a=c.next()).done)&&(n.push(a.value),!r||n.length!==r);o=!0);}catch(t){e=!0,i=t}finally{try{o||null==c.return||c.return()}finally{if(e)throw i}}return n}(t,r)||function(t,r){if(!t)return;if(\"string\"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}(t,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,o=new Array(r);n<r;n++)o[n]=t[n];return o}t.exports=function(t){var r=o(t,4),n=r[1],e=r[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=e.sources.map((function(t){return\"/*# sourceURL=\".concat(e.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([c]).join(\"\\n\")}return[n].join(\"\\n\")}},1:function(t,r,n){\"use strict\";t.exports=function(t){var r=[];return r.toString=function(){return this.map((function(r){var n=t(r);return r[2]?\"@media \".concat(r[2],\" {\").concat(n,\"}\"):n})).join(\"\")},r.i=function(t,n,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var e={};if(o)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(e[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&e[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),r.push(l))}},r}},2:function(t,r,n){\"use strict\";var o,e=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(r){if(void 0===t[r]){var n=document.querySelector(r);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[r]=n}return t[r]}}(),a=[];function c(t){for(var r=-1,n=0;n<a.length;n++)if(a[n].identifier===t){r=n;break}return r}function l(t,r){for(var n={},o=[],e=0;e<t.length;e++){var i=t[e],l=r.base?i[0]+r.base:i[0],p=n[l]||0,d=\"\".concat(l,\" \").concat(p);n[l]=p+1;var s=c(d),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==s?(a[s].references++,a[s].updater(u)):a.push({identifier:d,updater:b(u,r),references:1}),o.push(d)}return o}function p(t){var r=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var e=n.nc;e&&(o.nonce=e)}if(Object.keys(o).forEach((function(t){r.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(r);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(r)}return r}var d,s=(d=[],function(t,r){return d[t]=r,d.filter(Boolean).join(\"\\n\")});function u(t,r,n,o){var e=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=s(r,e);else{var i=document.createTextNode(e),a=t.childNodes;a[r]&&t.removeChild(a[r]),a.length?t.insertBefore(i,a[r]):t.appendChild(i)}}function A(t,r,n){var o=n.css,e=n.media,i=n.sourceMap;if(e?t.setAttribute(\"media\",e):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var f=null,C=0;function b(t,r){var n,o,e;if(r.singleton){var i=C++;n=f||(f=p(r)),o=u.bind(null,n,i,!1),e=u.bind(null,n,i,!0)}else n=p(r),o=A.bind(null,n,r),e=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return o(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;o(t=r)}else e()}}t.exports=function(t,r){(r=r||{}).singleton||\"boolean\"==typeof r.singleton||(r.singleton=e());var n=l(t=t||[],r);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<n.length;o++){var e=c(n[o]);a[e].references--}for(var i=l(t,r),p=0;p<n.length;p++){var d=c(n[p]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}n=i}}}},21:function(t,r,n){\"use strict\";n.r(r);var o=n(7),e=n(2),i=n.n(e),a=n(23),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1;r.default=o.VTooltip},23:function(t,r,n){\"use strict\";var o=n(0),e=n.n(o),i=n(1),a=n.n(i)()(e.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),r.a=a},7:function(t,r){t.exports=require(\"v-tooltip\")}})}));\n//# sourceMappingURL=Tooltip.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-1436bf4a]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-1436bf4a]{padding:8px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc h5[data-v-1436bf4a]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__desc p[data-v-1436bf4a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-1436bf4a]{margin-left:auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AA4EA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,yCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,wCACC,mCAAA,CAGF,yCACC,2BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\th5 {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: inherit;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry__internal .avatar-external[data-v-8239c8d6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-8239c8d6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAuGC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-input{width:100%;margin:10px 0}.sharing-input .multiselect__option span[lookup] .avatardiv{background-image:var(--icon-search-fff);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.sharing-input .multiselect__option span[lookup] .avatardiv div{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AAugBA,eACC,UAAA,CACA,aAAA,CAKE,4DACC,uCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,gEACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-input {\\n\\twidth: 100%;\\n\\tmargin: 10px 0;\\n\\n\\t// properly style the lookup entry\\n\\t.multiselect__option {\\n\\t\\tspan[lookup] {\\n\\t\\t\\t.avatardiv {\\n\\t\\t\\t\\tbackground-image: var(--icon-search-fff);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t\\tdiv {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-c58e421a]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-c58e421a]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-c58e421a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-c58e421a]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AAkGA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry__inherited .avatar-shared[data-v-1c2059ae]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AA8JC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-121ac5e6]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-121ac5e6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em;overflow:hidden}.sharing-entry__desc h5[data-v-121ac5e6]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__desc p[data-v-121ac5e6]{color:var(--color-text-maxcontrast)}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-121ac5e6]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-121ac5e6] .avatar-link-share{background-color:var(--color-primary)}.sharing-entry .sharing-entry__action--public-upload[data-v-121ac5e6]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-121ac5e6]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item[data-v-121ac5e6]{margin-left:auto}.sharing-entry .action-item~.action-item[data-v-121ac5e6],.sharing-entry .action-item~.sharing-entry__loading[data-v-121ac5e6]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-121ac5e6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AA04BA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CAEA,yCACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAED,wCACC,mCAAA,CAKD,mGACC,wCAAA,CAIF,oDACC,qCAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAKD,6CACC,gBAAA,CACA,+HAEC,aAAA,CAIF,sDACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\toverflow: hidden;\\n\\n\\t\\th5 {\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t::v-deep .avatar-link-share {\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\t\\tmargin-left: auto;\\n\\t\\t~ .action-item,\\n\\t\\t~ .sharing-entry__loading {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sharing-entry[data-v-8e155ce6]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-8e155ce6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__desc-unique[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-8e155ce6]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AA2ZA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAED,6CACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t&-unique {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\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 * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\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/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\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 `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = iterator['return'];\n if (innerResult === undefined) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = innerResult.call(iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a number');\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var argumentsLength = arguments.length;\n var i = 1;\n while (argumentsLength > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ScopedStorage =\n/*#__PURE__*/\nfunction () {\n function ScopedStorage(scope, wrapped, persistent) {\n _classCallCheck(this, ScopedStorage);\n\n _defineProperty(this, \"scope\", void 0);\n\n _defineProperty(this, \"wrapped\", void 0);\n\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n\n _createClass(ScopedStorage, [{\n key: \"scopeKey\",\n value: function scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n Object.keys(this.wrapped).filter(function (key) {\n return key.startsWith(_this.scope);\n }).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n }]);\n\n return ScopedStorage;\n}();\n\nexports.default = ScopedStorage;\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n result += chr + string.charAt(++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n chr = chr + string.charAt(++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (IS_NCG.test(string.slice(index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || has(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named.push([groupname, groupid]);\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || pattern instanceof RegExpWrapper) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && flags.indexOf('s') > -1;\n if (dotAll) flags = flags.replace(/s/g, '');\n }\n\n rawFlags = flags;\n\n if (UNSUPPORTED_Y && 'sticky' in re1) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon arrow-right-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon arrow-right-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ArrowRightIcon\",\n props: {\n title: {\n type: String,\n default: \"Arrow Right icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./ArrowRight.vue?vue&type=template&id=52d8fca9&functional=true&\"\nimport script from \"./ArrowRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ArrowRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n Vue.prototype.$clipboardConfig = VueClipboardConfig\n Vue.prototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","import e from\"@nextcloud/vue/dist/Components/Actions\";import n from\"@nextcloud/vue/dist/Components/ActionButton\";import o from\"@nextcloud/vue/dist/Components/Avatar\";import r from\"@nextcloud/vue/dist/Directives/Tooltip\";import i from\"vue\";import a from\"@nextcloud/axios\";import c from\"@nextcloud/vue/dist/Components/Multiselect\";var l=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)},s=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function u(t,e){return t(e={exports:{}},e.exports),e.exports}var f=\"object\"==typeof s&&s&&s.Object===Object&&s,p=\"object\"==typeof self&&self&&self.Object===Object&&self,d=f||p||Function(\"return this\")(),v=function(){return d.Date.now()},m=d.Symbol,h=Object.prototype,g=h.hasOwnProperty,y=h.toString,b=m?m.toStringTag:void 0;var x=function(t){var e=g.call(t,b),n=t[b];try{t[b]=void 0;var o=!0}catch(t){}var r=y.call(t);return o&&(e?t[b]=n:delete t[b]),r},_=Object.prototype.toString;var C=function(t){return _.call(t)},w=m?m.toStringTag:void 0;var O=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":w&&w in Object(t)?x(t):C(t)};var S=function(t){return null!=t&&\"object\"==typeof t};var R=function(t){return\"symbol\"==typeof t||S(t)&&\"[object Symbol]\"==O(t)},E=/^\\s+|\\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,T=/^0o[0-7]+$/i,I=parseInt;var P=function(t){if(\"number\"==typeof t)return t;if(R(t))return NaN;if(l(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=l(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(E,\"\");var n=k.test(t);return n||T.test(t)?I(t.slice(2),n?2:8):j.test(t)?NaN:+t},U=Math.max,A=Math.min;var N=function(t,e,n){var o,r,i,a,c,s,u=0,f=!1,p=!1,d=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function m(e){var n=o,i=r;return o=r=void 0,u=e,a=t.apply(i,n)}function h(t){return u=t,c=setTimeout(y,e),f?m(t):a}function g(t){var n=t-s;return void 0===s||n>=e||n<0||p&&t-u>=i}function y(){var t=v();if(g(t))return b(t);c=setTimeout(y,function(t){var n=e-(t-s);return p?A(n,i-(t-u)):n}(t))}function b(t){return c=void 0,d&&o?m(t):(o=r=void 0,a)}function x(){var t=v(),n=g(t);if(o=arguments,r=this,s=t,n){if(void 0===c)return h(s);if(p)return clearTimeout(c),c=setTimeout(y,e),m(s)}return void 0===c&&(c=setTimeout(y,e)),a}return e=P(e)||0,l(n)&&(f=!!n.leading,i=(p=\"maxWait\"in n)?U(P(n.maxWait)||0,e):i,d=\"trailing\"in n?!!n.trailing:d),x.cancel=function(){void 0!==c&&clearTimeout(c),u=0,o=s=r=c=void 0},x.flush=function(){return void 0===c?a:b(v())},x};function $(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var M=function(t){return t&&t.Math==Math&&t},D=M(\"object\"==typeof globalThis&&globalThis)||M(\"object\"==typeof window&&window)||M(\"object\"==typeof self&&self)||M(\"object\"==typeof s&&s)||Function(\"return this\")(),F=function(t){try{return!!t()}catch(t){return!0}},L=!F((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),B={}.propertyIsEnumerable,z=Object.getOwnPropertyDescriptor,V={f:z&&!B.call({1:2},1)?function(t){var e=z(this,t);return!!e&&e.enumerable}:B},G=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},K={}.toString,W=function(t){return K.call(t).slice(8,-1)},X=\"\".split,Y=F((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==W(t)?X.call(t,\"\"):Object(t)}:Object,q=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t},H=function(t){return Y(q(t))},J=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},Q=function(t,e){if(!J(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!J(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")},Z={}.hasOwnProperty,tt=function(t,e){return Z.call(t,e)},et=D.document,nt=J(et)&&J(et.createElement),ot=!L&&!F((function(){return 7!=Object.defineProperty((t=\"div\",nt?et.createElement(t):{}),\"a\",{get:function(){return 7}}).a;var t})),rt=Object.getOwnPropertyDescriptor,it={f:L?rt:function(t,e){if(t=H(t),e=Q(e,!0),ot)try{return rt(t,e)}catch(t){}if(tt(t,e))return G(!V.f.call(t,e),t[e])}},at=function(t){if(!J(t))throw TypeError(String(t)+\" is not an object\");return t},ct=Object.defineProperty,lt={f:L?ct:function(t,e,n){if(at(t),e=Q(e,!0),at(n),ot)try{return ct(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported\");return\"value\"in n&&(t[e]=n.value),t}},st=L?function(t,e,n){return lt.f(t,e,G(1,n))}:function(t,e,n){return t[e]=n,t},ut=function(t,e){try{st(D,t,e)}catch(n){D[t]=e}return e},ft=D[\"__core-js_shared__\"]||ut(\"__core-js_shared__\",{}),pt=Function.toString;\"function\"!=typeof ft.inspectSource&&(ft.inspectSource=function(t){return pt.call(t)});var dt,vt,mt,ht,gt=ft.inspectSource,yt=D.WeakMap,bt=\"function\"==typeof yt&&/native code/.test(gt(yt)),xt=u((function(t){(t.exports=function(t,e){return ft[t]||(ft[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})})),_t=0,Ct=Math.random(),wt=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++_t+Ct).toString(36)},Ot=xt(\"keys\"),St={},Rt=D.WeakMap;if(bt){var Et=new Rt,jt=Et.get,kt=Et.has,Tt=Et.set;dt=function(t,e){return Tt.call(Et,t,e),e},vt=function(t){return jt.call(Et,t)||{}},mt=function(t){return kt.call(Et,t)}}else{var It=Ot[ht=\"state\"]||(Ot[ht]=wt(ht));St[It]=!0,dt=function(t,e){return st(t,It,e),e},vt=function(t){return tt(t,It)?t[It]:{}},mt=function(t){return tt(t,It)}}var Pt,Ut,At={set:dt,get:vt,has:mt,enforce:function(t){return mt(t)?vt(t):dt(t,{})},getterFor:function(t){return function(e){var n;if(!J(e)||(n=vt(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return n}}},Nt=u((function(t){var e=At.get,n=At.enforce,o=String(String).split(\"String\");(t.exports=function(t,e,r,i){var a=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,l=!!i&&!!i.noTargetGet;\"function\"==typeof r&&(\"string\"!=typeof e||tt(r,\"name\")||st(r,\"name\",e),n(r).source=o.join(\"string\"==typeof e?e:\"\")),t!==D?(a?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=r:st(t,e,r)):c?t[e]=r:ut(e,r)})(Function.prototype,\"toString\",(function(){return\"function\"==typeof this&&e(this).source||gt(this)}))})),$t=D,Mt=function(t){return\"function\"==typeof t?t:void 0},Dt=Math.ceil,Ft=Math.floor,Lt=function(t){return isNaN(t=+t)?0:(t>0?Ft:Dt)(t)},Bt=Math.min,zt=function(t){return t>0?Bt(Lt(t),9007199254740991):0},Vt=Math.max,Gt=Math.min,Kt=function(t){return function(e,n,o){var r,i=H(e),a=zt(i.length),c=function(t,e){var n=Lt(t);return n<0?Vt(n+e,0):Gt(n,e)}(o,a);if(t&&n!=n){for(;a>c;)if((r=i[c++])!=r)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},Wt={includes:Kt(!0),indexOf:Kt(!1)},Xt=Wt.indexOf,Yt=function(t,e){var n,o=H(t),r=0,i=[];for(n in o)!tt(St,n)&&tt(o,n)&&i.push(n);for(;e.length>r;)tt(o,n=e[r++])&&(~Xt(i,n)||i.push(n));return i},qt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],Ht=qt.concat(\"length\",\"prototype\"),Jt={f:Object.getOwnPropertyNames||function(t){return Yt(t,Ht)}},Qt={f:Object.getOwnPropertySymbols},Zt=function(t,e){return arguments.length<2?Mt($t[t])||Mt(D[t]):$t[t]&&$t[t][e]||D[t]&&D[t][e]}(\"Reflect\",\"ownKeys\")||function(t){var e=Jt.f(at(t)),n=Qt.f;return n?e.concat(n(t)):e},te=function(t,e){for(var n=Zt(e),o=lt.f,r=it.f,i=0;i<n.length;i++){var a=n[i];tt(t,a)||o(t,a,r(e,a))}},ee=/#|\\.prototype\\./,ne=function(t,e){var n=re[oe(t)];return n==ae||n!=ie&&(\"function\"==typeof e?F(e):!!e)},oe=ne.normalize=function(t){return String(t).replace(ee,\".\").toLowerCase()},re=ne.data={},ie=ne.NATIVE=\"N\",ae=ne.POLYFILL=\"P\",ce=ne,le=it.f,se=function(t,e){var n,o,r,i,a,c=t.target,l=t.global,s=t.stat;if(n=l?D:s?D[c]||ut(c,{}):(D[c]||{}).prototype)for(o in e){if(i=e[o],r=t.noTargetGet?(a=le(n,o))&&a.value:n[o],!ce(l?o:c+(s?\".\":\"#\")+o,t.forced)&&void 0!==r){if(typeof i==typeof r)continue;te(i,r)}(t.sham||r&&r.sham)&&st(i,\"sham\",!0),Nt(n,o,i,t)}},ue=Object.defineProperty,fe={},pe=function(t){throw t},de=Wt.indexOf,ve=[].indexOf,me=!!ve&&1/[1].indexOf(1,-0)<0,he=!!(Ut=[][\"indexOf\"])&&F((function(){Ut.call(null,Pt||function(){throw 1},1)})),ge=function(t,e){if(tt(fe,t))return fe[t];e||(e={});var n=[][t],o=!!tt(e,\"ACCESSORS\")&&e.ACCESSORS,r=tt(e,0)?e[0]:pe,i=tt(e,1)?e[1]:void 0;return fe[t]=!!n&&!F((function(){if(o&&!L)return!0;var t={length:-1};o?ue(t,1,{enumerable:!0,get:pe}):t[1]=1,n.call(t,r,i)}))}(\"indexOf\",{ACCESSORS:!0,1:0});se({target:\"Array\",proto:!0,forced:me||!he||!ge},{indexOf:function(t){return me?ve.apply(this,arguments)||0:de(this,t,arguments.length>1?arguments[1]:void 0)}});var ye=Object.keys||function(t){return Yt(t,qt)},be=function(t){return Object(q(t))},xe=Object.assign,_e=Object.defineProperty,Ce=!xe||F((function(){if(L&&1!==xe({b:1},xe(_e({},\"a\",{enumerable:!0,get:function(){_e(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o=\"abcdefghijklmnopqrst\";return t[n]=7,o.split(\"\").forEach((function(t){e[t]=t})),7!=xe({},t)[n]||ye(xe({},e)).join(\"\")!=o}))?function(t,e){for(var n=be(t),o=arguments.length,r=1,i=Qt.f,a=V.f;o>r;)for(var c,l=Y(arguments[r++]),s=i?ye(l).concat(i(l)):ye(l),u=s.length,f=0;u>f;)c=s[f++],L&&!a.call(l,c)||(n[c]=l[c]);return n}:xe;se({target:\"Object\",stat:!0,forced:Object.assign!==Ce},{assign:Ce});var we=!!Object.getOwnPropertySymbols&&!F((function(){return!String(Symbol())})),Oe=we&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,Se=xt(\"wks\"),Re=D.Symbol,Ee=Oe?Re:Re&&Re.withoutSetter||wt,je=function(t){return tt(Se,t)||(we&&tt(Re,t)?Se[t]=Re[t]:Se[t]=Ee(\"Symbol.\"+t)),Se[t]},ke={};ke[je(\"toStringTag\")]=\"z\";var Te=\"[object z]\"===String(ke),Ie=je(\"toStringTag\"),Pe=\"Arguments\"==W(function(){return arguments}()),Ue=Te?W:function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ie))?n:Pe?W(e):\"Object\"==(o=W(e))&&\"function\"==typeof e.callee?\"Arguments\":o},Ae=Te?{}.toString:function(){return\"[object \"+Ue(this)+\"]\"};Te||Nt(Object.prototype,\"toString\",Ae,{unsafe:!0});var Ne=function(){var t=at(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e};function $e(t,e){return RegExp(t,e)}var Me,De,Fe={UNSUPPORTED_Y:F((function(){var t=$e(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")})),BROKEN_CARET:F((function(){var t=$e(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")}))},Le=RegExp.prototype.exec,Be=String.prototype.replace,ze=Le,Ve=(Me=/a/,De=/b*/g,Le.call(Me,\"a\"),Le.call(De,\"a\"),0!==Me.lastIndex||0!==De.lastIndex),Ge=Fe.UNSUPPORTED_Y||Fe.BROKEN_CARET,Ke=void 0!==/()??/.exec(\"\")[1];(Ve||Ke||Ge)&&(ze=function(t){var e,n,o,r,i=this,a=Ge&&i.sticky,c=Ne.call(i),l=i.source,s=0,u=t;return a&&(-1===(c=c.replace(\"y\",\"\")).indexOf(\"g\")&&(c+=\"g\"),u=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&\"\\n\"!==t[i.lastIndex-1])&&(l=\"(?: \"+l+\")\",u=\" \"+u,s++),n=new RegExp(\"^(?:\"+l+\")\",c)),Ke&&(n=new RegExp(\"^\"+l+\"$(?!\\\\s)\",c)),Ve&&(e=i.lastIndex),o=Le.call(a?n:i,u),a?o?(o.input=o.input.slice(s),o[0]=o[0].slice(s),o.index=i.lastIndex,i.lastIndex+=o[0].length):i.lastIndex=0:Ve&&o&&(i.lastIndex=i.global?o.index+o[0].length:e),Ke&&o&&o.length>1&&Be.call(o[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(o[r]=void 0)})),o});var We=ze;se({target:\"RegExp\",proto:!0,forced:/./.exec!==We},{exec:We});var Xe=RegExp.prototype,Ye=Xe.toString,qe=F((function(){return\"/a/b\"!=Ye.call({source:\"a\",flags:\"b\"})})),He=\"toString\"!=Ye.name;(qe||He)&&Nt(RegExp.prototype,\"toString\",(function(){var t=at(this),e=String(t.source),n=t.flags;return\"/\"+e+\"/\"+String(void 0===n&&t instanceof RegExp&&!(\"flags\"in Xe)?Ne.call(t):n)}),{unsafe:!0});var Je=je(\"species\"),Qe=!F((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")})),Ze=\"$0\"===\"a\".replace(/./,\"$0\"),tn=je(\"replace\"),en=!!/./[tn]&&\"\"===/./[tn](\"a\",\"$0\"),nn=!F((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n=\"ab\".split(t);return 2!==n.length||\"a\"!==n[0]||\"b\"!==n[1]})),on=function(t){return function(e,n){var o,r,i=String(q(e)),a=Lt(n),c=i.length;return a<0||a>=c?t?\"\":void 0:(o=i.charCodeAt(a))<55296||o>56319||a+1===c||(r=i.charCodeAt(a+1))<56320||r>57343?t?i.charAt(a):o:t?i.slice(a,a+2):r-56320+(o-55296<<10)+65536}},rn={codeAt:on(!1),charAt:on(!0)}.charAt,an=function(t,e,n){return e+(n?rn(t,e).length:1)},cn=function(t,e){var n=t.exec;if(\"function\"==typeof n){var o=n.call(t,e);if(\"object\"!=typeof o)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return o}if(\"RegExp\"!==W(t))throw TypeError(\"RegExp#exec called on incompatible receiver\");return We.call(t,e)},ln=Math.max,sn=Math.min,un=Math.floor,fn=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,pn=/\\$([$&'`]|\\d\\d?)/g;!function(t,e,n,o){var r=je(t),i=!F((function(){var e={};return e[r]=function(){return 7},7!=\"\"[t](e)})),a=i&&!F((function(){var e=!1,n=/a/;return\"split\"===t&&((n={}).constructor={},n.constructor[Je]=function(){return n},n.flags=\"\",n[r]=/./[r]),n.exec=function(){return e=!0,null},n[r](\"\"),!e}));if(!i||!a||\"replace\"===t&&(!Qe||!Ze||en)||\"split\"===t&&!nn){var c=/./[r],l=n(r,\"\"[t],(function(t,e,n,o,r){return e.exec===We?i&&!r?{done:!0,value:c.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}}),{REPLACE_KEEPS_$0:Ze,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:en}),s=l[0],u=l[1];Nt(String.prototype,t,s),Nt(RegExp.prototype,r,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)})}o&&st(RegExp.prototype[r],\"sham\",!0)}(\"replace\",2,(function(t,e,n,o){var r=o.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=o.REPLACE_KEEPS_$0,a=r?\"$\":\"$0\";return[function(n,o){var r=q(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r,o):e.call(String(r),n,o)},function(t,o){if(!r&&i||\"string\"==typeof o&&-1===o.indexOf(a)){var l=n(e,t,this,o);if(l.done)return l.value}var s=at(t),u=String(this),f=\"function\"==typeof o;f||(o=String(o));var p=s.global;if(p){var d=s.unicode;s.lastIndex=0}for(var v=[];;){var m=cn(s,u);if(null===m)break;if(v.push(m),!p)break;\"\"===String(m[0])&&(s.lastIndex=an(u,zt(s.lastIndex),d))}for(var h,g=\"\",y=0,b=0;b<v.length;b++){m=v[b];for(var x=String(m[0]),_=ln(sn(Lt(m.index),u.length),0),C=[],w=1;w<m.length;w++)C.push(void 0===(h=m[w])?h:String(h));var O=m.groups;if(f){var S=[x].concat(C,_,u);void 0!==O&&S.push(O);var R=String(o.apply(void 0,S))}else R=c(x,u,_,C,O,o);_>=y&&(g+=u.slice(y,_)+R,y=_+x.length)}return g+u.slice(y)}];function c(t,n,o,r,i,a){var c=o+t.length,l=r.length,s=pn;return void 0!==i&&(i=be(i),s=fn),e.call(a,s,(function(e,a){var s;switch(a.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return n.slice(0,o);case\"'\":return n.slice(c);case\"<\":s=i[a.slice(1,-1)];break;default:var u=+a;if(0===u)return e;if(u>l){var f=un(u/10);return 0===f?e:f<=l?void 0===r[f-1]?a.charAt(1):r[f-1]+a.charAt(1):e}s=r[u-1]}return void 0===s?\"\":s}))}}));var dn,vn=u((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getRootUrl=e.generateFilePath=e.imagePath=e.generateUrl=e.generateOcsUrl=e.generateRemoteUrl=e.linkTo=void 0;e.linkTo=function(t,e){return n(t,\"\",e)};e.generateRemoteUrl=function(t){return window.location.protocol+\"//\"+window.location.host+function(t){return o()+\"/remote.php/\"+t}(t)};e.generateOcsUrl=function(t,e){return e=2!==e?1:2,window.location.protocol+\"//\"+window.location.host+o()+\"/ocs/v\"+e+\".php/\"+t+\"/\"};e.generateUrl=function(t,e,n){var r=Object.assign({escape:!0,noRewrite:!1},n||{}),i=function(t,e){return e=e||{},t.replace(/{([^{}]*)}/g,(function(t,n){var o=e[n];return r.escape?\"string\"==typeof o||\"number\"==typeof o?encodeURIComponent(o.toString()):encodeURIComponent(t):\"string\"==typeof o||\"number\"==typeof o?o.toString():t}))};return\"/\"!==t.charAt(0)&&(t=\"/\"+t),!0!==OC.config.modRewriteWorking||r.noRewrite?o()+\"/index.php\"+i(t,e||{}):o()+i(t,e||{})};e.imagePath=function(t,e){return-1===e.indexOf(\".\")?n(t,\"img\",e+\".svg\"):n(t,\"img\",e)};var n=function(t,e,n){var r=-1!==OC.coreApps.indexOf(t),i=o();return\"php\"!==n.substring(n.length-3)||r?\"php\"===n.substring(n.length-3)||r?(i+=\"settings\"!==t&&\"core\"!==t&&\"search\"!==t||\"ajax\"!==e?\"/\":\"/index.php/\",r||(i+=\"apps/\"),\"\"!==t&&(i+=t+=\"/\"),e&&(i+=e+\"/\"),i+=n):(i=OC.appswebroots[t],e&&(i+=\"/\"+e+\"/\"),\"/\"!==i.substring(i.length-1)&&(i+=\"/\"),i+=n):(i+=\"/index.php/apps/\"+t,\"index.php\"!==n&&(i+=\"/\",e&&(i+=encodeURI(e+\"/\")),i+=n)),i};e.generateFilePath=n;var o=function(){return OC.webroot};e.getRootUrl=o}));(dn=vn)&&dn.__esModule&&Object.prototype.hasOwnProperty.call(dn,\"default\")&&dn.default;vn.getRootUrl,vn.generateFilePath,vn.imagePath,vn.generateUrl;var mn=vn.generateOcsUrl,hn=(vn.generateRemoteUrl,vn.linkTo,new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.http=a,this.baseUrl=mn(\"collaboration/resources\",2)}var e,n,o;return e=t,(n=[{key:\"listCollection\",value:function(t){return this.http.get(\"\".concat(this.baseUrl,\"collections/\").concat(t))}},{key:\"renameCollection\",value:function(t,e){var n=mn(\"collaboration/resources/collections\",2);return this.http.put(\"\".concat(n).concat(t,\"?format=json\"),{collectionName:e}).then((function(t){return t.data.ocs.data}))}},{key:\"getCollectionsByResource\",value:function(t,e){var n=mn(\"collaboration/resources/\".concat(t),2);return this.http.get(\"\".concat(n).concat(e,\"?format=json\")).then((function(t){return t.data.ocs.data}))}},{key:\"createCollection\",value:function(t,e,n){var o=mn(\"collaboration/resources/\".concat(t),2);return this.http.post(\"\".concat(o).concat(e,\"?format=json\"),{name:n}).then((function(t){return t.data.ocs.data}))}},{key:\"addResource\",value:function(t,e,n){n=\"\"+n;var o=mn(\"collaboration/resources/collections\",2);return this.http.post(\"\".concat(o).concat(t,\"?format=json\"),{resourceType:e,resourceId:n}).then((function(t){return t.data.ocs.data}))}},{key:\"removeResource\",value:function(t,e,n){return this.http.delete(\"\".concat(this.baseUrl,\"collections/\").concat(t),{params:{resourceType:e,resourceId:n}}).then((function(t){return t.data.ocs.data}))}},{key:\"search\",value:function(t){t=encodeURI(t);var e=mn(\"collaboration/resources/collections/search\",2);return this.http.get(\"\".concat(e).concat(t,\"?format=json\")).then((function(t){return t.data.ocs.data}))}}])&&$(e.prototype,n),o&&$(e,o),t}())),gn=i.observable({collections:[]}),yn=function(t){i.set(gn,\"collections\",t)},bn=function(t){gn.collections.push(t)},xn=function(t){i.set(gn,\"collections\",gn.collections.filter((function(e){return e.id!==t})))},_n=function(t){var e=gn.collections.findIndex((function(e){return e.id===t.id}));-1!==e?i.set(gn.collections,e,t):gn.collections.push(t)},Cn={fetchCollectionsByResource:function(t){var e=t.resourceType,n=t.resourceId;return hn.getCollectionsByResource(e,n).then((function(t){return yn(t),t}))},createCollection:function(t){var e=t.baseResourceType,n=t.baseResourceId,o=t.resourceType,r=t.resourceId,i=t.name;return hn.createCollection(e,n,i).then((function(t){bn(t),Cn.addResourceToCollection({collectionId:t.id,resourceType:o,resourceId:r})}))},renameCollection:function(t){var e=t.collectionId,n=t.name;return hn.renameCollection(e,n).then((function(t){return _n(t),t}))},addResourceToCollection:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.addResource(e,n,o).then((function(t){return _n(t),t}))},removeResource:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.removeResource(e,n,o).then((function(t){t.resources.length>0?_n(t):xn(t)}))},search:function(t){return hn.search(t)}};r.options.defaultHtml=!1;var wn={name:\"CollectionListItem\",components:{Avatar:o,Actions:e,ActionButton:n},directives:{Tooltip:r},props:{collection:{type:Object,default:null}},data:function(){return{detailsOpen:!1,newName:null,error:{}}},computed:{getIcon:function(){return function(t){return[t.iconClass]}},typeClass:function(){return function(t){return\"resource-type-\"+t.type}},limitedResources:function(){return function(t){return t.resources?t.resources.slice(0,2):[]}},iconUrl:function(){return function(t){return t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:\"\"}}},methods:{toggleDetails:function(){this.detailsOpen=!this.detailsOpen},showDetails:function(){this.detailsOpen=!0},hideDetails:function(){this.detailsOpen=!1},removeResource:function(t,e){Cn.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename:function(){this.newName=this.collection.name},renameCollection:function(){var e=this;\"\"!==this.newName?Cn.renameCollection({collectionId:this.collection.id,name:this.newName}).then((function(t){e.newName=null})).catch((function(n){e.$set(e.error,\"rename\",t(\"core\",\"Failed to rename the project\")),console.error(n),setTimeout((function(){Vue.set(e.error,\"rename\",null)}),3e3)})):this.newName=null}}};function On(t,e,n,o,r,i,a,c,l,s){\"boolean\"!=typeof a&&(l=c,c=a,a=!1);const u=\"function\"==typeof n?n.options:n;let f;if(t&&t.render&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0,r&&(u.functional=!0)),o&&(u._scopeId=o),i?(f=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=f):e&&(f=a?function(t){e.call(this,s(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,c(t))}),f)if(u.functional){const t=u.render;u.render=function(e,n){return f.call(n),t(e,n)}}else{const t=u.beforeCreate;u.beforeCreate=t?[].concat(t,f):[f]}return n}const Sn=\"undefined\"!=typeof navigator&&/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());function Rn(t){return(t,e)=>function(t,e){const n=Sn?e.media||\"default\":t,o=jn[n]||(jn[n]={ids:new Set,styles:[]});if(!o.ids.has(t)){o.ids.add(t);let n=e.source;if(e.map&&(n+=\"\\n/*# sourceURL=\"+e.map.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),o.element||(o.element=document.createElement(\"style\"),o.element.type=\"text/css\",e.media&&o.element.setAttribute(\"media\",e.media),void 0===En&&(En=document.head||document.getElementsByTagName(\"head\")[0]),En.appendChild(o.element)),\"styleSheet\"in o.element)o.styles.push(n),o.element.styleSheet.cssText=o.styles.filter(Boolean).join(\"\\n\");else{const t=o.ids.size-1,e=document.createTextNode(n),r=o.element.childNodes;r[t]&&o.element.removeChild(r[t]),r.length?o.element.insertBefore(e,r[t]):o.element.appendChild(e)}}}(t,e)}let En;const jn={};const kn=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"collection-list-item\"},[n(\"Avatar\",{staticClass:\"collection-avatar\",attrs:{\"display-name\":t.collection.name,\"allow-placeholder\":!0}}),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"collection-item-name\",attrs:{title:\"\"},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):n(\"form\",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection(e)}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.newName,expression:\"newName\"}],attrs:{type:\"text\",autocomplete:\"off\",autocapitalize:\"off\"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]),t._v(\" \"),t.detailsOpen||null!==t.newName?t._e():n(\"div\",{staticClass:\"linked-icons\"},t._l(t.limitedResources(t.collection),(function(e){return n(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:e.name,expression:\"resource.name\"}],key:e.type+\"|\"+e.id,class:t.typeClass(e),attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}})])})),0),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"sharingOptionsGroup\"},[n(\"Actions\",[n(\"ActionButton\",{attrs:{icon:\"icon-info\"},on:{click:function(e){return e.preventDefault(),t.toggleDetails(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.detailsOpen?t.t(\"core\",\"Hide details\"):t.t(\"core\",\"Show details\"))+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"ActionButton\",{attrs:{icon:\"icon-rename\"},on:{click:function(e){return e.preventDefault(),t.openRename(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Rename project\"))+\"\\n\\t\\t\\t\")])],1)],1):t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error.rename?n(\"div\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error.rename)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.detailsOpen?n(\"ul\",{staticClass:\"resource-list-details\"},t._l(t.collection.resources,(function(e){return n(\"li\",{key:e.type+\"|\"+e.id,class:t.typeClass(e)},[n(\"a\",{attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}}),n(\"span\",{staticClass:\"resource-name\"},[t._v(t._s(e.name||\"\"))])]),t._v(\" \"),n(\"span\",{staticClass:\"icon-close\",on:{click:function(n){return t.removeResource(t.collection,e)}}})])})),0):t._e()])],1)},staticRenderFns:[]},(function(t){t&&t(\"data-v-37fa7b72_0\",{source:\".fade-enter-active[data-v-37fa7b72],.fade-leave-active[data-v-37fa7b72]{transition:opacity .3s ease}.fade-enter[data-v-37fa7b72],.fade-leave-to[data-v-37fa7b72]{opacity:0}.linked-icons[data-v-37fa7b72]{display:flex}.linked-icons img[data-v-37fa7b72]{padding:12px;height:44px;display:block;background-repeat:no-repeat;background-position:center;opacity:.7}.linked-icons img[data-v-37fa7b72]:hover{opacity:1}.popovermenu[data-v-37fa7b72]{display:none}.popovermenu.open[data-v-37fa7b72]{display:block}li.collection-list-item[data-v-37fa7b72]{flex-wrap:wrap;height:auto;cursor:pointer;margin-bottom:0!important}li.collection-list-item .collection-avatar[data-v-37fa7b72]{margin-top:6px}li.collection-list-item .collection-item-name[data-v-37fa7b72],li.collection-list-item form[data-v-37fa7b72]{flex-basis:10%;flex-grow:1;display:flex}li.collection-list-item .collection-item-name[data-v-37fa7b72]{padding:12px 9px}li.collection-list-item input[type=text][data-v-37fa7b72]{margin-top:4px;flex-grow:1}li.collection-list-item .error[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details li[data-v-37fa7b72]{display:flex;margin-left:44px;border-radius:3px;cursor:pointer}li.collection-list-item .resource-list-details li[data-v-37fa7b72]:hover{background-color:var(--color-background-dark)}li.collection-list-item .resource-list-details li a[data-v-37fa7b72]{flex-grow:1;padding:3px;max-width:calc(100% - 30px);display:flex}li.collection-list-item .resource-list-details span[data-v-37fa7b72]{display:inline-block;vertical-align:top;margin-right:10px}li.collection-list-item .resource-list-details span.resource-name[data-v-37fa7b72]{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top;white-space:nowrap;flex-grow:1;padding:4px}li.collection-list-item .resource-list-details img[data-v-37fa7b72]{width:24px;height:24px}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]{opacity:.7}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:focus,li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:hover{opacity:1}.shouldshake[data-v-37fa7b72]{animation:shake-data-v-37fa7b72 .6s 1 linear}@keyframes shake-data-v-37fa7b72{0%{transform:translate(15px)}20%{transform:translate(-15px)}40%{transform:translate(7px)}60%{transform:translate(-7px)}80%{transform:translate(3px)}100%{transform:translate(0)}}\",map:void 0,media:void 0})}),wn,\"data-v-37fa7b72\",false,undefined,!1,Rn,void 0,void 0);var Tn=N((function(t){var e=this;\"\"!==t&&Cn.search(t).then((function(t){e.searchCollections=t})).catch((function(t){console.error(\"Failed to search for collections\",t)}))}),500,{});const In=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.collections&&t.type&&t.id?n(\"ul\",{staticClass:\"collection-list\",attrs:{id:\"collection-list\"}},[n(\"li\",{on:{click:t.showSelect}},[t._m(0),t._v(\" \"),n(\"div\",{attrs:{id:\"collection-select-container\"}},[n(\"Multiselect\",{ref:\"select\",attrs:{options:t.options,placeholder:t.placeholder,\"tag-placeholder\":\"Create a new project\",label:\"title\",\"track-by\":\"title\",\"reset-after\":!0,limit:5},on:{select:t.select,\"search-change\":t.search},scopedSlots:t._u([{key:\"singleLabel\",fn:function(e){return[n(\"span\",{staticClass:\"option__desc\"},[n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])])]}},{key:\"option\",fn:function(e){return[n(\"span\",{staticClass:\"option__wrapper\"},[e.option.class?n(\"span\",{staticClass:\"avatar\",class:e.option.class}):2!==e.option.method?n(\"Avatar\",{attrs:{\"display-name\":e.option.title,\"allow-placeholder\":!0}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])],1)]}}],null,!1,1746341295),model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}}),t._v(\" \"),n(\"p\",{staticClass:\"hint\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Connect items to a project to make them easier to find\"))+\"\\n\\t\\t\\t\")])],1)]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error?n(\"li\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),t._l(t.collections,(function(t){return n(\"CollectionListItem\",{key:t.id,attrs:{collection:t}})}))],2):t._e()},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e(\"div\",{staticClass:\"avatar\"},[e(\"span\",{staticClass:\"icon-projects\"})])}]},(function(t){t&&t(\"data-v-68879a84_0\",{source:\".collection-list *[data-v-68879a84]{box-sizing:border-box}.collection-list>li[data-v-68879a84]{display:flex;align-items:start}.collection-list>li>.avatar[data-v-68879a84]{margin-top:5px}#collection-select-container[data-v-68879a84]{display:flex;flex-direction:column;margin-top:-5px}.multiselect[data-v-68879a84]{z-index:2;width:100%;margin-left:3px;background-color:transparent}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags{border:none!important}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags input::placeholder{color:var(--color-main-text)}.multiselect[data-v-68879a84] .multiselect__input{background-color:transparent}.multiselect span.avatar[data-v-68879a84]{display:block;padding:16px;opacity:.7;background-repeat:no-repeat;background-position:center}.multiselect span.avatar[data-v-68879a84]:hover{opacity:1}.multiselect.multiselect--active+p.hint[data-v-68879a84]{opacity:0}p.hint[data-v-68879a84]{z-index:1;margin-top:-16px;padding:8px 8px;color:var(--color-text-maxcontrast);line-height:normal}div.avatar[data-v-68879a84]{width:32px;height:32px;margin:0;padding:8px;background-color:var(--color-background-dark);margin-top:30px}.icon-projects[data-v-68879a84]{display:block;padding:8px;background-repeat:no-repeat;background-position:center}.option__wrapper[data-v-68879a84]{display:flex}.option__wrapper .avatar[data-v-68879a84]{display:block;background-color:var(--color-background-darker)!important}.option__wrapper .option__title[data-v-68879a84]{padding:4px}.fade-enter-active[data-v-68879a84],.fade-leave-active[data-v-68879a84]{transition:opacity .5s}.fade-enter[data-v-68879a84],.fade-leave-to[data-v-68879a84]{opacity:0}\",map:void 0,media:void 0})}),{name:\"CollectionList\",components:{CollectionListItem:kn,Avatar:o,Multiselect:c},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:\"\"}},data:function(){return{selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,state:gn}},computed:{collections:function(){var t=this;return this.state.collections.filter((function(e){return void 0!==e.resources.find((function(e){return e&&e.id===\"\"+t.id&&e.type===t.type}))}))},placeholder:function(){return t(\"core\",\"Add to a project\")},options:function(){var e=this,n=[];window.OCP.Collaboration.getTypes().sort().forEach((function(t){n.push({method:0,type:t,title:window.OCP.Collaboration.getLabel(t),class:window.OCP.Collaboration.getIcon(t),action:function(){return window.OCP.Collaboration.trigger(t)}})}));var o=function(t){-1===e.collections.findIndex((function(n){return n.id===e.searchCollections[t].id}))&&n.push({method:1,title:e.searchCollections[t].name,collectionId:e.searchCollections[t].id})};for(var r in this.searchCollections)o(r);return 0===this.searchCollections.length&&n.push({method:2,title:t(\"core\",\"Type to search for existing projects\")}),n}},mounted:function(){Cn.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{select:function(e,n){var o=this;0===e.method&&e.action().then((function(n){Cn.createCollection({baseResourceType:o.type,baseResourceId:o.id,resourceType:e.type,resourceId:n,name:o.name}).catch((function(e){o.setError(t(\"core\",\"Failed to create a project\"),e)}))})).catch((function(t){console.error(\"No resource selected\",t)})),1===e.method&&Cn.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((function(e){o.setError(t(\"core\",\"Failed to add the item to the project\"),e)}))},search:function(t){Tn.bind(this)(t)},showSelect:function(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect:function(){this.selectIsOpen=!1},isVueComponent:function(t){return t._isVue},setError:function(t,e){var n=this;console.error(t,e),this.error=t,setTimeout((function(){n.error=null}),5e3)}}},\"data-v-68879a84\",false,undefined,!1,Rn,void 0,void 0);export{In as CollectionList};\n","!function(A,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(A.NextcloudVue=A.NextcloudVue||{},A.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(A){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return A[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=A,e.c=t,e.d=function(A,t,n){e.o(A,t)||Object.defineProperty(A,t,{enumerable:!0,get:n})},e.r=function(A){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(A,\"__esModule\",{value:!0})},e.t=function(A,t){if(1&t&&(A=e(A)),8&t)return A;if(4&t&&\"object\"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:A}),2&t&&\"string\"!=typeof A)for(var o in A)e.d(n,o,function(t){return A[t]}.bind(null,o));return n},e.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return e.d(t,\"a\",t),t},e.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},e.p=\"/dist/\",e(e.s=73)}([function(A,t,e){\"use strict\";function n(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(A)))return;var e=[],n=!0,o=!1,i=void 0;try{for(var a,r=A[Symbol.iterator]();!(n=(a=r.next()).done)&&(e.push(a.value),!t||e.length!==t);n=!0);}catch(A){o=!0,i=A}finally{try{n||null==r.return||r.return()}finally{if(o)throw i}}return e}(A,t)||function(A,t){if(!A)return;if(\"string\"==typeof A)return o(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(A,t)}(A,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}A.exports=function(A){var t=n(A,4),e=t[1],o=t[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),r=\"/*# \".concat(a,\" */\"),s=o.sources.map((function(A){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(A,\" */\")}));return[e].concat(s).concat([r]).join(\"\\n\")}return[e].join(\"\\n\")}},function(A,t,e){\"use strict\";A.exports=function(A){var t=[];return t.toString=function(){return this.map((function(t){var e=A(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(e,\"}\"):e})).join(\"\")},t.i=function(A,e,n){\"string\"==typeof A&&(A=[[null,A,\"\"]]);var o={};if(n)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var r=0;r<A.length;r++){var s=[].concat(A[r]);n&&o[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),t.push(s))}},t}},function(A,t,e){\"use strict\";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var A={};return function(t){if(void 0===A[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(A){e=null}A[t]=e}return A[t]}}(),a=[];function r(A){for(var t=-1,e=0;e<a.length;e++)if(a[e].identifier===A){t=e;break}return t}function s(A,t){for(var e={},n=[],o=0;o<A.length;o++){var i=A[o],s=t.base?i[0]+t.base:i[0],c=e[s]||0,l=\"\".concat(s,\" \").concat(c);e[s]=c+1;var g=r(l),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==g?(a[g].references++,a[g].updater(u)):a.push({identifier:l,updater:p(u,t),references:1}),n.push(l)}return n}function c(A){var t=document.createElement(\"style\"),n=A.attributes||{};if(void 0===n.nonce){var o=e.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(A){t.setAttribute(A,n[A])})),\"function\"==typeof A.insert)A.insert(t);else{var a=i(A.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(t)}return t}var l,g=(l=[],function(A,t){return l[A]=t,l.filter(Boolean).join(\"\\n\")});function u(A,t,e,n){var o=e?\"\":n.media?\"@media \".concat(n.media,\" {\").concat(n.css,\"}\"):n.css;if(A.styleSheet)A.styleSheet.cssText=g(t,o);else{var i=document.createTextNode(o),a=A.childNodes;a[t]&&A.removeChild(a[t]),a.length?A.insertBefore(i,a[t]):A.appendChild(i)}}function d(A,t,e){var n=e.css,o=e.media,i=e.sourceMap;if(o?A.setAttribute(\"media\",o):A.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),A.styleSheet)A.styleSheet.cssText=n;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(n))}}var m=null,C=0;function p(A,t){var e,n,o;if(t.singleton){var i=C++;e=m||(m=c(t)),n=u.bind(null,e,i,!1),o=u.bind(null,e,i,!0)}else e=c(t),n=d.bind(null,e,t),o=function(){!function(A){if(null===A.parentNode)return!1;A.parentNode.removeChild(A)}(e)};return n(A),function(t){if(t){if(t.css===A.css&&t.media===A.media&&t.sourceMap===A.sourceMap)return;n(A=t)}else o()}}A.exports=function(A,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=o());var e=s(A=A||[],t);return function(A){if(A=A||[],\"[object Array]\"===Object.prototype.toString.call(A)){for(var n=0;n<e.length;n++){var o=r(e[n]);a[o].references--}for(var i=s(A,t),c=0;c<e.length;c++){var l=r(e[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}e=i}}}},function(A,t,e){\"use strict\";function n(A,t,e,n,o,i,a,r){var s,c=\"function\"==typeof A?A.options:A;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=\"data-v-\"+i),a?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),o&&o.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(a)},c._ssrRegister=s):o&&(s=r?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(A,t){return s.call(t),l(A,t)}}else{var g=c.beforeCreate;c.beforeCreate=g?[].concat(g,s):[s]}return{exports:A,options:c}}e.d(t,\"a\",(function(){return n}))},function(A,t,e){\"use strict\";A.exports=function(A,t){return t||(t={}),\"string\"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['\"].*['\"]$/.test(A)&&(A=A.slice(1,-1)),t.hash&&(A+=t.hash),/[\"'() \\t\\n]/.test(A)||t.needQuotes?'\"'.concat(A.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):A)}},function(A,t){A.exports=require(\"vue\")},function(A,t){A.exports=require(\"core-js/modules/es.object.to-string.js\")},function(A,t){A.exports=require(\"v-tooltip\")},function(A,t,e){\"use strict\";t.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(A,t,e){\"use strict\";t.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMnTjj9EAAACsAAAAYGNtYXAADeu4AAABDAAAAUJnbHlmx0c5TAAAAlAAAAf8aGVhZCv7IFYAAApMAAAANmhoZWEm/ROFAAAKhAAAACRobXR4Z77//wAACqgAAAA0bG9jYQ28D2YAAArcAAAAKG1heHABIABXAAALBAAAACBuYW1lSUSXPQAACyQAAAKmcG9zdD9UvtcAAA3MAAABFgAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(A,t,e){\"use strict\";e.d(t,\"b\",(function(){return r})),e.d(t,\"a\",(function(){return a}));e(27);var n=e(32),o=Object(n.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(A){var t={};for(var e in A.translations)A.translations[e].pluralId?t[e]={msgid:e,msgid_plural:A.translations[e].pluralId,msgstr:A.translations[e].msgstr}:t[e]={msgid:e,msgstr:[A.translations[e]]};o.addTranslation(A.locale,{translations:{\"\":t}})}));var i=o.build(),a=i.ngettext.bind(i),r=i.gettext.bind(i)},,function(A,t){A.exports=require(\"core-js/modules/es.function.name.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/es.string.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=a},function(A,t){},function(A,t,e){\"use strict\";e.r(t);var n=e(7),o=e(2),i=e.n(o),a=e(23),r={insert:\"head\",singleton:!1};i()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nn.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),n.VTooltip.options.defaultHtml=!1;t.default=n.VTooltip},function(A,t){A.exports=require(\"core-js/modules/es.string.trim.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=a},,function(A,t){A.exports=require(\"core-js/modules/es.string.replace.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(A,t,e){\"use strict\";var n={name:\"Popover\",components:{VPopover:e(7).VPopover},mounted:function(){var A=this;this.$watch((function(){return A.$refs.popover.isOpen}),(function(t){t?A.$emit(\"after-show\"):A.$emit(\"after-hide\")}))}},o=e(2),i=e.n(o),a=e(19),r={insert:\"head\",singleton:!1},s=(i()(a.a,r),a.a.locals,e(3)),c=e(20),l=e.n(c),g=Object(s.a)(n,(function(){var A=this.$createElement,t=this._self._c||A;return t(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),t(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(g);t.a=g.exports},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.js\")},function(A,t){A.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(A,t,e){\"use strict\";e(15),e(25),e(6),e(26);t.a=function(A){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,A||5)}},,function(A,t){A.exports=require(\"core-js/modules/es.array.concat.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.description.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.array.slice.js\")},,,,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.iterator.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(28);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,function(A,t,e){\"use strict\";e(35),e(14),e(101);var n=e(5),o=e.n(n);t.a=function(A,t,e){if(void 0!==A)for(var n=A.length-1;n>=0;n--){var i=A[n],a=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),r=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag,s=r&&-1===t.indexOf(i.componentOptions.tag);(a||!r||s)&&((a||s)&&o.a.util.warn(\"\".concat(a?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),A.splice(n,1))}}},function(A,t){A.exports=require(\"core-js/modules/es.array.filter.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.from.js\")},,,,,,,,,,,,,,,function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i),r=e(4),s=e.n(r),c=e(8),l=e(9),g=e(10),u=e(11),d=a()(o.a),m=s()(c.a),C=s()(l.a),p=s()(g.a),f=s()(u.a);d.push([A.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+C+') format(\"woff\"),url('+p+') format(\"truetype\"),url('+f+') format(\"svg\")}.icon[data-v-54ba527a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.action-item[data-v-54ba527a]{position:relative;display:inline-block}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active,.action-item__menutoggle[data-v-54ba527a]:hover,.action-item__menutoggle[data-v-54ba527a]:focus,.action-item__menutoggle[data-v-54ba527a]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-54ba527a]:disabled,.action-item--single[data-v-54ba527a]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-54ba527a]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-54ba527a],.action-item__menutoggle[data-v-54ba527a]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-54ba527a]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-54ba527a] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-54ba527a]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.action-item__menutoggle--default-icon[data-v-54ba527a]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-54ba527a]{position:relative;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-54ba527a]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-54ba527a]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-54ba527a],.action-item__menutoggle--primary[data-v-54ba527a]:hover,.action-item__menutoggle--primary[data-v-54ba527a]:focus,.action-item__menutoggle--primary[data-v-54ba527a]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-54ba527a]{opacity:.7}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active{opacity:1}.action-item--single>[hidden][data-v-54ba527a]{display:none}.ie .action-item__menu[data-v-54ba527a],.ie .action-item__menu .action-item__menu_arrow[data-v-54ba527a],.edge .action-item__menu[data-v-54ba527a],.edge .action-item__menu .action-item__menu_arrow[data-v-54ba527a]{border:1px solid var(--color-border)}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=d},function(A,t){},function(A,t){A.exports=require(\"core-js/modules/es.object.keys.js\")},,function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(85);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,,,,,,,,,,function(A,t,e){\"use strict\";e(22),e(51),e(69),e(31),e(71),e(27),e(72),e(38),e(6),e(46),e(16),e(17),e(18),e(52),e(41),e(14);var n=e(21),o=e(33),i=e(50),a=e(12),r=e(47);function s(A){return function(A){if(Array.isArray(A))return c(A)}(A)||function(A){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(A))return Array.from(A)}(A)||function(A,t){if(!A)return;if(\"string\"==typeof A)return c(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return c(A,t)}(A)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}function l(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function g(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?l(Object(e),!0).forEach((function(t){u(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):l(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function u(A,t,e){return t in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}var d=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],m={name:\"Actions\",directives:{tooltip:n.default},components:{Popover:r.default,VNodes:{functional:!0,render:function(A,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"},ariaLabel:{type:String,default:Object(a.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(o.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var A=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===A)return g(g({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===A)return g(g({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===A)return g(g({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var A,t,e;return null===(A=this.firstActionVNode)||void 0===A||null===(t=A.componentOptions)||void 0===t||null===(e=t.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var A,t;return null===(A=this.firstAction)||void 0===A||null===(t=A.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(A){A!==this.opened&&(this.opened=A)}},beforeMount:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},beforeUpdate:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},methods:{openMenu:function(A){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(A){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(A){var t=this;this.$nextTick((function(){t.focusFirstAction(A)}))},onMouseFocusAction:function(A){if(document.activeElement!==A.target){var t=A.target.closest(\"li\");if(t){var e=t.querySelector(\".focusable\");if(e){var n=s(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(e);n>-1&&(this.focusIndex=n,this.focusAction())}}}},removeCurrentActive:function(){var A=this.$refs.menu.querySelector(\"li.active\");A&&A.classList.remove(\"active\")},focusAction:function(){var A=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(A){this.removeCurrentActive();var t=A.closest(\"li.action\");A.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(A){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(A){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=0,this.focusAction())},focusLastAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(A){A&&(A.preventDefault(),A.stopPropagation())},execFirstAction:function(A){this.firstActionEvent&&this.firstActionEvent(A)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(A){return!!A&&!!A.componentOptions}))},onFocus:function(A){this.$emit(\"focus\",A)},onBlur:function(A){this.$emit(\"blur\",A)}}},C=e(2),p=e.n(C),f=e(67),h={insert:\"head\",singleton:!1},B=(p()(f.a,h),f.a.locals,e(3)),y=e(68),b=e.n(y),M=Object(B.a)(m,(function(){var A,t,e=this,n=e.$createElement,o=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?o(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(A={},A[e.firstAction.icon]=e.firstAction.icon,A[e.firstActionClass]=e.firstActionClass,A),attrs:{rel:\"noreferrer noopener\",disabled:e.disabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(A){e.opened=A},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{slot:\"trigger\",disabled:e.disabled,\"aria-label\":e.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":e.randomId,\"test-attr\":\"1\",\"aria-expanded\":e.opened?\"true\":\"false\"},on:{focus:e.onFocus,blur:e.onBlur},slot:\"trigger\"},[e._t(\"icon\"),e._v(\"\\n\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\")],2),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"up\",38,A.key,[\"Up\",\"ArrowUp\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"down\",40,A.key,[\"Down\",\"ArrowDown\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")?null:A.shiftKey?A.ctrlKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A):null},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-up\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusFirstAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-down\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusLastAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"esc\",27,A.key,[\"Esc\",\"Escape\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:(A.preventDefault(),e.closeMenu(A))}],mousemove:e.onMouseFocusAction}},[o(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"54ba527a\",null);\"function\"==typeof b.a&&b()(M);t.a=M.exports},,,,,,,,,,,,,,,,function(A,t){A.exports=require(\"core-js/modules/es.array.splice.js\")}])}));\n//# sourceMappingURL=Actions.js.map","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=110)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var e=[],o=!0,i=!1,r=void 0;try{for(var a,s=t[Symbol.iterator]();!(o=(a=s.next()).done)&&(e.push(a.value),!n||e.length!==n);o=!0);}catch(t){i=!0,r=t}finally{try{o||null==s.return||s.return()}finally{if(i)throw r}}return e}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},102:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(49).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(94),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(95),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel},on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}},[t._t(\"icon\")],2),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"42b28436\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},110:function(t,n,e){\"use strict\";e.r(n);var o=e(102);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a},14:function(t,n){t.exports=require(\"core-js/modules/es.function.name.js\")},16:function(t,n){t.exports=require(\"core-js/modules/es.array.iterator.js\")},17:function(t,n){t.exports=require(\"core-js/modules/es.string.iterator.js\")},18:function(t,n){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(p)):a.push({identifier:u,updater:A(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function A(t,n){var e,o,i;if(n.singleton){var r=b++;e=h||(h=l(n)),o=p.bind(null,e,r,!1),i=p.bind(null,e,r,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},22:function(t,n){t.exports=require(\"core-js/modules/es.string.trim.js\")},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},39:function(t,n,e){\"use strict\";e(22),e(14);var o=e(5),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},40:function(t,n){t.exports=require(\"core-js/modules/web.url.js\")},49:function(t,n,e){\"use strict\";e(16),e(6),e(17),e(18),e(40);var o=e(39),i=(e(14),function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}});n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},5:function(t,n){t.exports=require(\"vue\")},6:function(t,n){t.exports=require(\"core-js/modules/es.object.to-string.js\")},94:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwBC,2BAEE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},95:function(t,n){}})}));\n//# sourceMappingURL=ActionButton.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=107)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],i=!0,a=!1,A=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){a=!0,A=t}finally{try{i||null==r.return||r.return()}finally{if(a)throw A}}return n}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(\"function\"==typeof btoa){var A=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(A),r=\"/*# \".concat(o,\" */\"),s=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var A=0;A<this.length;A++){var o=this[A][0];null!=o&&(a[o]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);i&&a[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),e.push(s))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},A=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),o=[];function r(t){for(var e=-1,n=0;n<o.length;n++)if(o[n].identifier===t){e=n;break}return e}function s(t,e){for(var n={},i=[],a=0;a<t.length;a++){var A=t[a],s=e.base?A[0]+e.base:A[0],l=n[s]||0,c=\"\".concat(s,\" \").concat(l);n[s]=l+1;var u=r(c),d={css:A[1],media:A[2],sourceMap:A[3]};-1!==u?(o[u].references++,o[u].updater(d)):o.push({identifier:c,updater:f(d,e),references:1}),i.push(c)}return i}function l(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var o=A(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(e)}return e}var c,u=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join(\"\\n\")});function d(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=u(e,a);else{var A=document.createTextNode(a),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function g(t,e,n){var i=n.css,a=n.media,A=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),A&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(A)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var m=null,p=0;function f(t,e){var n,i,a;if(e.singleton){var A=p++;n=m||(m=l(e)),i=d.bind(null,n,A,!1),a=d.bind(null,n,A,!0)}else n=l(e),i=g.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=s(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=r(n[i]);o[a].references--}for(var A=s(t,e),l=0;l<n.length;l++){var c=r(n[l]);0===o[c].references&&(o[c].updater(),o.splice(c,1))}n=A}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,A,o,r){var s,l=\"function\"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),A&&(l._scopeId=\"data-v-\"+A),o?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=s):a&&(s=r?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),s)if(l.functional){l._injectStyles=s;var c=l.render;l.render=function(t,e){return s.call(e),c(t,e)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e,n){\"use strict\";e.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,e,n){\"use strict\";e.a=\"data:font/woff;base64,d09GRgABAAAAAA8sAAoAAAAADuQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgdOOP0WNtYXAAAAFUAAABQgAAAUIADeu4Z2x5ZgAAApgAAAf8AAAH/MdHOUxoZWFkAAAKlAAAADYAAAA2K/sgVmhoZWEAAArMAAAAJAAAACQm/ROFaG10eAAACvAAAAA0AAAANGe+//9sb2NhAAALJAAAACgAAAAoDbwPZm1heHAAAAtMAAAAIAAAACABIABXbmFtZQAAC2wAAAKmAAACpklElz1wb3N0AAAOFAAAARYAAAEWP1S+1wAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return r})),n.d(e,\"a\",(function(){return o}));n(27);var i=n(32),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var A=a.build(),o=A.ngettext.bind(A),r=A.gettext.bind(A)},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(7),a=n(2),A=n.n(a),o=n(23),r={insert:\"head\",singleton:!1};A()(o.a,r),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1;e.default=i.VTooltip},function(t,e){t.exports=require(\"core-js/modules/es.string.trim.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),A=n.n(a),o=n(19),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(3)),l=n(20),c=n.n(l),u=Object(s.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),e(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof c.a&&c()(u);e.a=u.exports},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},function(t,e){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.js\")},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},function(t,e){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,e){t.exports=require(\"core-js/modules/web.url.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,e){t.exports=require(\"v-click-outside\")},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return A.default})),n.d(e,\"d\",(function(){return o.default})),n.d(e,\"e\",(function(){return g}));var i=n(75),a=n(76),A=n(36),o=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),l=n(13),c=n(82),u=n(34);function d(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,A,o,r,d,g,m,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=Object(c.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=3;break}return e.abrupt(\"return\");case 3:if(Object(u.getCurrentUser)()){e.next=5;break}return e.abrupt(\"return\");case 5:return e.prev=5,e.next=8,s.a.get(Object(l.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:a=e.sent,A=a.data,o=A.ocs.data,r=o.status,d=o.message,g=o.icon,n.userStatus.status=r,n.userStatus.message=d||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,e.next=22;break;case 17:if(e.prev=17,e.t0=e.catch(5),404!==e.t0.response.status||0!==(null===(m=e.t0.response.data.ocs)||void 0===m||null===(p=m.data)||void 0===p?void 0:p.length)){e.next=21;break}return e.abrupt(\"return\");case 21:console.error(e.t0);case 22:case\"end\":return e.stop()}}),e,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var A=e.apply(t,n);function o(t){d(A,i,a,o,r,\"next\",t)}function r(t){d(A,i,a,o,r,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,e){t.exports=require(\"linkifyjs/string\")},,,function(t,e){t.exports=require(\"core-js/modules/es.array.filter.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,e){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,e){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return C})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return v}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var i=n(62),a=n.n(i),A=n(48),o=n.n(A),r=n(43),s=n.n(r),l=n(5),c=n.n(l),u=n(13),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(u.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},g=n(2),m=n.n(g),p=n(44),f={insert:\"head\",singleton:!1},h=(m()(p.a,f),p.a.locals,n(3)),b=Object(h.a)(d,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(C).map((function(t){return t.split(v)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=s()(e,\"<div>\"),e=s()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(c.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var A=i.innerHTML;return n.$destroy(),i.remove(),A}}}},function(t,e,n){\"use strict\";var i=n(12);e.a={methods:{n:i.a,t:i.b}}},function(t,e){t.exports=require(\"escape-html\")},function(t,e){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,e,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var A=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),o=1;o<t;o++){var r=parseInt(e.r+A[0]*o,10),s=parseInt(e.g+A[1]*o,10),l=parseInt(e.b+A[2]*o,10);a.push(new i(r,s,l))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),A=new i(0,130,201),o=a(t,e,n),r=a(t,n,A),s=a(t,A,e);return o.concat(r).concat(s)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A),r=n(4),s=n.n(r),l=n(8),c=n(9),u=n(10),d=n(11),g=o()(a.a),m=s()(l.a),p=s()(c.a),f=s()(u.a),h=s()(d.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+p+') format(\"woff\"),url('+f+') format(\"truetype\"),url('+h+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=g},function(t,e){},,,function(t,e){t.exports=require(\"core-js/modules/es.object.keys.js\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),A=0;a>-1&&A<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),A++;return n}},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},,function(t,e,n){\"use strict\";n.r(e);n(15),n(98),n(93),n(24),n(69),n(31),n(51),n(71),n(27),n(72);var i=n(70);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(A(A({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},s=n(3),l=n(78),c=n.n(l),u=Object(s.a)(r,void 0,void 0,!1,null,null,null);\"function\"==typeof c.a&&c()(u);var d=u.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=d},function(t,e,n){\"use strict\";n.r(e);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function i(t,e){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,A=function(){};return{s:A,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:A}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,o=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw o}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var A,o=n.value;if(null!=t&&null!==(A=t.classList)&&void 0!==A&&A.contains(o))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e,n){\"use strict\";n.r(e);n(6),n(26),n(16),n(17),n(18),n(40);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),A=n.n(a),o=n(53),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(54)),l={insert:\"head\",singleton:!1},c=(A()(s.a,l),s.a.locals,n(3)),u={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(c.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var A=t._i(n,null);i.checked?A<0&&t.$set(t.item,\"model\",n.concat([null])):A>-1&&t.$set(t.item,\"model\",n.slice(0,A).concat(n.slice(A+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=n(55),g={insert:\"head\",singleton:!1},m=(A()(d.a,g),d.a.locals,n(56)),p=n.n(m),f=Object(c.a)(u,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,e,n){\"use strict\";n.r(e);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var i=n(86),a=n(42),A=n(77),o=n(34),r=n(29),s=n(37),l=n.n(s),c=n(13),u=n(21),d=n(84),g=n(45),m=n(28);function p(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var A=t.apply(e,n);function o(t){p(A,i,a,o,r,\"next\",t)}function r(t){p(A,i,a,o,r,\"throw\",t)}o(void 0)}))}}var h=Object(i.getBuilder)(\"nextcloud\").persist().build();function b(t){var e=h.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function C(t,e){t&&h.setItem(\"user-has-avatar.\"+t,e)}var v={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{Popover:m.a,PopoverMenu:A.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(o.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(d.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,l.a.post(Object(c.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(c.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(o.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,C(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,C(e.user,!1)},n&&(a.srcset=n),a.src=t}}},B=n(2),y=n.n(B),x=n(65),w={insert:\"head\",singleton:!1},M=(y()(x.a,w),x.a.locals,n(3)),I=n(66),E=n.n(I),k=Object(M.a)(v,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(k);var S=k.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=S},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"9737fff\"),\"\")}))}},function(t,e,n){\"use strict\";n.r(e);n(15),n(92),n(25);var i=n(81),a=n.n(i),A=n(64),o=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(A.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var A in i)n+=i[A];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=o},,function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwOA,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.match.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.reduce.js\")},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AA6HA,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.search.js\")},function(t,e,n){\"use strict\";n.r(e);n(30),n(22);var i=n(80),a=n(74),A=n(45),o={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[A.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},r=n(2),s=n.n(r),l=n(87),c={insert:\"head\",singleton:!1},u=(s()(l.a,c),l.a.locals,n(3)),d=n(88),g=n.n(d),m=Object(u.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof g.a&&g()(m);var p=m.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";n(30),n(24),n(57),n(41),n(31),n(38),n(6),n(46),n(16),n(17),n(18);var i=n(108),a=n.n(i),A=(n(14),n(15),n(79),n(98),n(74)),o=n(70),r={name:\"EllipsisedOption\",components:{Highlight:A.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},s=n(2),l=n.n(s),c=n(96),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,m=n(61),p=n(99),f=n(21);function h(t){return(h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var b={name:\"Multiselect\",components:{EllipsisedOption:g,ListItemIcon:p.default,VueMultiselect:a.a},directives:{tooltip:f.default},mixins:[m.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==h(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===h(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},C=n(97),v=n.n(C),B=Object(d.a)(b,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}}))],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners),[t._v(\" \"),t._v(\" \"),t._v(\" \"),n(\"span\",{attrs:{slot:\"noResult\"},slot:\"noResult\"},[t._v(t._s(t.t(\"No results\")))])])}),[],!1,null,null,null);\"function\"==typeof v.a&&v()(B);e.a=B.exports},,,function(t,e){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".multiselect[data-v-9737fff]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-9737fff]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-9737fff].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-9737fff].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-9737fff].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff].multiselect--disabled,.multiselect[data-v-9737fff].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-9737fff].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-9737fff] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:1px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin-bottom:3px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single *,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__strong,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-9737fff] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-9737fff] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-9737fff] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-9737fff] .multiselect__content-wrapper li,.multiselect[data-v-9737fff] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-9737fff].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-9737fff].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-9737fff]:hover .multiselect__placeholder,.multiselect[data-v-9737fff] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAIA,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,iBAAkB,CAvGtB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 1px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin-bottom: 3px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.r(e);var i=n(83),a=n(100),A=n(2),o=n.n(A),r=n(106),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=68)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var i,a,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);r=!0);}catch(t){s=!0,a=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw a}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(!a)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(a[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);i&&a[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},i=[],a=0;a<t.length;a++){var o=t[a],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:A(p,e),references:1}),i.push(u)}return i}function c(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function p(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=d(e,a);else{var o=document.createTextNode(a),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function m(t,e,n){var i=n.css,a=n.media,o=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var g=null,h=0;function A(t,e){var n,i,a;if(e.singleton){var o=h++;n=g||(g=c(e)),i=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=c(e),i=m.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=s(n[i]);r[a].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var i=n(13),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var o=a.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=n(2),o=n.n(a),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1,i.VTooltip.options.defaultDelay={show:500,hide:200};e.default=i.VTooltip},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),o=n.n(a),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(i,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var i=n(6),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e,n){\"use strict\";var i=n(4);e.a={methods:{n:i.a,t:i.b}}},,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return m}));var i=n(47),a=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function p(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var m={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,o,r,s,p,m,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(i=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:a=e.sent,o=a.data,r=o.ocs.data,s=r.status,p=r.message,m=r.icon,n.userStatus.status=s,n.userStatus.message=p||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var o=e.apply(t,n);function r(t){p(o,i,a,r,s,\"next\",t)}function s(t){p(o,i,a,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;a>-1&&o<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),o++;return n}},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return b})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var i=n(43),a=n.n(i),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),p={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},m=n(2),g=n.n(m),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),f=Object(v.a)(p,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,b=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(b).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,f).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},function(t,e,n){\"use strict\";n.r(e);var i=n(38);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(o(o({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},l=n(3),c=n(45),u=n.n(c),d=Object(l.a)(s,void 0,void 0,!1,null,null,null);\"function\"==typeof u.a&&u()(d);var p=d.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),p=r()(a.a),m=l()(c.a),g=l()(u.a),h=l()(d.a);p.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=p},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);a.push(new i(s,l,c))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),r=a(t,e,n),s=a(t,n,o),l=a(t,o,e);return r.concat(s).concat(l)}},function(t,e){},,function(t,e,n){\"use strict\";function i(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),o=n.n(a),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},p=n(35),m={insert:\"head\",singleton:!1},g=(o()(p.a,m),p.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var i=n(15),a=n.n(i),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),p=n(54),m=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function f(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}function b(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var o=t.apply(e,n);function r(t){f(o,i,a,r,s,\"next\",t)}function s(t){f(o,i,a,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function B(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:m.default,ClickOutside:o.directive},components:{DotsHorizontal:a.a,Popover:v.a,PopoverMenu:p.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(r.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,B(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,B(e.user,!1)},n&&(a.srcset=n),a.src=t}}},k=n(2),w=n.n(k),S=n(41),_={insert:\"head\",singleton:!1},j=(w()(S.a,_),S.a.locals,n(3)),N=n(42),P=n.n(N),E=Object(j.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof P.a&&P()(E);var z=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=z},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var i=n(56),a=n.n(i),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";var i=n(71),a=n.n(i),o=n(40),r=n(38),s={name:\"EllipsisedOption\",components:{Highlight:o.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(r.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},l=n(2),c=n.n(l),u=n(64),d={insert:\"head\",singleton:!1},p=(c()(u.a,d),u.a.locals,n(3)),m=Object(p.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,g=n(22),h=n(67),A=n(11);function v(t){return(v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var f={name:\"Multiselect\",components:{EllipsisedOption:m,ListItemIcon:h.default,VueMultiselect:a.a},directives:{tooltip:A.default},mixins:[g.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==v(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===v(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},b=n(65),C=n.n(b),y=Object(p.a)(f,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[n(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof C.a&&C()(y);e.a=y.exports},function(t,e,n){\"use strict\";n.r(e);var i=n(55),a=n(40),o=n(24),r={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[o.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=n(2),l=n.n(s),c=n(60),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),p=n(61),m=n.n(p),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof m.a&&m()(g);var h=g.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e,n){\"use strict\";n.r(e);var i=n(59),a=n(66),o=n(2),r=n.n(o),s=n(70),l={insert:\"head\",singleton:!1};r()(s.a,l),s.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.encodePath = encodePath;\nexports.basename = basename;\nexports.dirname = dirname;\nexports.joinPaths = joinPaths;\nexports.isSamePath = isSamePath;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/**\n * URI-Encodes a file path but keep the path slashes.\n */\nfunction encodePath(path) {\n if (!path) {\n return path;\n }\n\n return path.split('/').map(encodeURIComponent).join('/');\n}\n/**\n * Returns the base name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"somefile.txt\"\n */\n\n\nfunction basename(path) {\n return path.replace(/\\\\/g, '/').replace(/.*\\//, '');\n}\n/**\n * Returns the dir name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"/abc\"\n */\n\n\nfunction dirname(path) {\n return path.replace(/\\\\/g, '/').replace(/\\/[^\\/]*$/, '');\n}\n/**\n * Join path sections\n */\n\n\nfunction joinPaths(...args) {\n if (arguments.length < 1) {\n return '';\n } // discard empty arguments\n\n\n const nonEmptyArgs = args.filter(arg => arg.length > 0);\n\n if (nonEmptyArgs.length < 1) {\n return '';\n }\n\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === '/';\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === '/';\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split('/')), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === '') {\n return acc;\n }\n\n if (first) {\n first = false;\n return acc + section;\n }\n\n return acc + '/' + section;\n }, '');\n\n if (trailingSlash) {\n // add it back\n return path + '/';\n }\n\n return path;\n}\n/**\n * Returns whether the given paths are the same, without\n * leading, trailing or doubled slashes and also removing\n * the dot sections.\n */\n\n\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || '').split('/').filter(p => p !== '.');\n const pathSections2 = (path2 || '').split('/').filter(p => p !== '.');\n path1 = joinPaths.apply(undefined, pathSections1);\n path2 = joinPaths.apply(undefined, pathSections2);\n return path1 === path2;\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionRadio\",[],n):\"object\"==typeof exports?exports[\"Components/ActionRadio\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionRadio\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=207)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},132:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-047cd0d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-047cd0d4]{background-color:var(--color-background-hover)}.action--disabled[data-v-047cd0d4]{pointer-events:none;opacity:.5}.action--disabled[data-v-047cd0d4]:hover,.action--disabled[data-v-047cd0d4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-047cd0d4]{opacity:1 !important}.action-radio[data-v-047cd0d4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-047cd0d4]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-047cd0d4]{opacity:1}.action-radio__label[data-v-047cd0d4]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-047cd0d4]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-047cd0d4],.action-radio--disabled .action-radio__label[data-v-047cd0d4]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-047cd0d4],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-047cd0d4]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEgHxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDlJoB,CCqJpB,sCACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,iEAUC,SD5Ia,CC6Ib,sCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UDzJiB,CCiJjB,8CAYC,0BAA2B,CAC3B,uGAMA,cAAe,CAvDlB,8KA8DG,SD1Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},133:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,d=\"\".concat(s,\" \").concat(l);e[s]=l+1;var u=c(d),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==u?(r[u].references++,r[u].updater(p)):r.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var d=c(e[l]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}e=a}}}},207:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionRadio\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",t)}}},r=e(2),c=e.n(r),s=e(132),l={insert:\"head\",singleton:!1},d=(c()(s.a,l),s.a.locals,e(3)),u=e(133),p=e.n(u),f=Object(d.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,name:t.name,type:\"radio\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.toggleInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"047cd0d4\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var d=l.render;l.render=function(t,n){return s.call(n),d(t,n)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionRadio.js.map","/*!\n * clipboard.js v2.0.8\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){\"use strict\";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this),this.resolveOptions(t),this.initSelection()}var t,n,r;return t=e,(n=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=\"\"}},{key:\"initSelection\",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:\"createFakeElement\",value:function(){var t=\"rtl\"===document.documentElement.getAttribute(\"dir\");this.fakeElem=document.createElement(\"textarea\"),this.fakeElem.style.fontSize=\"12pt\",this.fakeElem.style.border=\"0\",this.fakeElem.style.padding=\"0\",this.fakeElem.style.margin=\"0\",this.fakeElem.style.position=\"absolute\",this.fakeElem.style[t?\"right\":\"left\"]=\"-9999px\";t=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top=\"\".concat(t,\"px\"),this.fakeElem.setAttribute(\"readonly\",\"\"),this.fakeElem.value=this.text,this.fakeElem}},{key:\"selectFake\",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener(\"click\",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=o()(e),this.copyText(),this.removeFake()}},{key:\"removeFake\",value:function(){this.fakeHandler&&(this.container.removeEventListener(\"click\",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:\"selectTarget\",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:\"copyText\",value:function(){var e;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:\"handleResult\",value:function(t){this.emitter.emit(t?\"success\":\"error\",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:\"clearSelection\",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:\"destroy\",value:function(){this.removeFake()}},{key:\"action\",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:\"copy\";if(this._action=t,\"copy\"!==this._action&&\"cut\"!==this._action)throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"')},get:function(){return this._action}},{key:\"target\",set:function(t){if(void 0!==t){if(!t||\"object\"!==c(t)||1!==t.nodeType)throw new Error('Invalid \"target\" value, use a valid Element');if(\"copy\"===this.action&&t.hasAttribute(\"disabled\"))throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');if(\"cut\"===this.action&&(t.hasAttribute(\"readonly\")||t.hasAttribute(\"disabled\")))throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');this._target=t}},get:function(){return this._target}}])&&u(t.prototype,n),r&&u(t,r),e}();function s(t){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(n){var r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=p(n);return t=r?(t=p(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||\"object\"!==s(t)&&\"function\"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}(e):t}}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){t=\"data-clipboard-\".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var r=function(){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(o,i());var t,e,n,r=d(o);function o(t,e){var n;return function(t){if(!(t instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this),(n=r.call(this)).resolveOptions(e),n.listenClick(t),n}return t=o,n=[{key:\"isSupported\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[\"copy\",\"cut\"],t=\"string\"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=\"function\"==typeof t.action?t.action:this.defaultAction,this.target=\"function\"==typeof t.target?t.target:this.defaultTarget,this.text=\"function\"==typeof t.text?t.text:this.defaultText,this.container=\"object\"===s(t.container)?t.container:document.body}},{key:\"listenClick\",value:function(t){var e=this;this.listener=a()(t,\"click\",function(t){return e.onClick(t)})}},{key:\"onClick\",value:function(t){t=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:\"defaultAction\",value:function(t){return y(\"action\",t)}},{key:\"defaultTarget\",value:function(t){t=y(\"target\",t);if(t)return document.querySelector(t)}},{key:\"defaultText\",value:function(t){return y(\"text\",t)}},{key:\"destroy\",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}])&&f(t.prototype,e),n&&f(t,n),o}()},828:function(t){var e;\"undefined\"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if(\"function\"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var a=n(828);function i(t,e,n,r,o){var i=function(e,n,t,r){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&r.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,o),{destroy:function(){t.removeEventListener(n,i,o)}}}t.exports=function(t,e,n,r,o){return\"function\"==typeof t.addEventListener?i.apply(null,arguments):\"function\"==typeof n?i.bind(null,document).apply(null,arguments):(\"string\"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,r,o)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&(\"[object NodeList]\"===e||\"[object HTMLCollection]\"===e)&&\"length\"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return\"string\"==typeof t||t instanceof String},n.fn=function(t){return\"[object Function]\"===Object.prototype.toString.call(t)}},370:function(t,e,n){var l=n(879),s=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error(\"Missing required arguments\");if(!l.string(e))throw new TypeError(\"Second argument must be a String\");if(!l.fn(n))throw new TypeError(\"Third argument must be a Function\");if(l.node(t))return c=e,u=n,(a=t).addEventListener(c,u),{destroy:function(){a.removeEventListener(c,u)}};if(l.nodeList(t))return r=t,o=e,i=n,Array.prototype.forEach.call(r,function(t){t.addEventListener(o,i)}),{destroy:function(){Array.prototype.forEach.call(r,function(t){t.removeEventListener(o,i)})}};if(l.string(t))return t=t,e=e,n=n,s(document.body,t,e,n);throw new TypeError(\"First argument must be a String, HTMLElement, HTMLCollection, or NodeList\");var r,o,i,a,c,u}},817:function(t){t.exports=function(t){var e,n=\"SELECT\"===t.nodeName?(t.focus(),t.value):\"INPUT\"===t.nodeName||\"TEXTAREA\"===t.nodeName?((e=t.hasAttribute(\"readonly\"))||t.setAttribute(\"readonly\",\"\"),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute(\"readonly\"),t.value):(t.hasAttribute(\"contenteditable\")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;i<a;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},o={},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r(134).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={exports:{}};return n[t](e,e.exports,r),e.exports}var n,o});","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\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 coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\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 * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\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 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\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 * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\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 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\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 objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar nativeFetch = getBuiltIn('fetch');\nvar NativeRequest = getBuiltIn('Request');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = getIterator(init, iteratorMethod);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) });\n } else {\n parseSearchParams(\n entries,\n typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init)\n );\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && typeof Headers == 'function') {\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (typeof nativeFetch == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (typeof NativeRequest == 'function') {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestConstructor, 'Request');\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n\nexports.__esModule = true;\n\nvar _linkify = require('./linkify');\n\nvar linkify = _interopRequireWildcard(_linkify);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar tokenize = linkify.tokenize,\n options = linkify.options; /**\n \tConvert strings of text into linkable HTML text\n */\n\nvar Options = options.Options;\n\n\nfunction escapeText(text) {\n\treturn text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction escapeAttr(href) {\n\treturn href.replace(/\"/g, '&quot;');\n}\n\nfunction attributesToString(attributes) {\n\tif (!attributes) {\n\t\treturn '';\n\t}\n\tvar result = [];\n\n\tfor (var attr in attributes) {\n\t\tvar val = attributes[attr] + '';\n\t\tresult.push(attr + '=\"' + escapeAttr(val) + '\"');\n\t}\n\treturn result.join(' ');\n}\n\nfunction linkifyStr(str) {\n\tvar opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\topts = new Options(opts);\n\n\tvar tokens = tokenize(str);\n\tvar result = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\n\t\tif (token.type === 'nl' && opts.nl2br) {\n\t\t\tresult.push('<br>\\n');\n\t\t\tcontinue;\n\t\t} else if (!token.isLink || !opts.check(token)) {\n\t\t\tresult.push(escapeText(token.toString()));\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar _opts$resolve = opts.resolve(token),\n\t\t formatted = _opts$resolve.formatted,\n\t\t formattedHref = _opts$resolve.formattedHref,\n\t\t tagName = _opts$resolve.tagName,\n\t\t className = _opts$resolve.className,\n\t\t target = _opts$resolve.target,\n\t\t attributes = _opts$resolve.attributes;\n\n\t\tvar link = '<' + tagName + ' href=\"' + escapeAttr(formattedHref) + '\"';\n\n\t\tif (className) {\n\t\t\tlink += ' class=\"' + escapeAttr(className) + '\"';\n\t\t}\n\n\t\tif (target) {\n\t\t\tlink += ' target=\"' + escapeAttr(target) + '\"';\n\t\t}\n\n\t\tif (attributes) {\n\t\t\tlink += ' ' + attributesToString(attributes);\n\t\t}\n\n\t\tlink += '>' + escapeText(formatted) + '</' + tagName + '>';\n\t\tresult.push(link);\n\t}\n\n\treturn result.join('');\n}\n\nif (!String.prototype.linkify) {\n\ttry {\n\t\tObject.defineProperty(String.prototype, 'linkify', {\n\t\t\tset: function set() {},\n\t\t\tget: function get() {\n\t\t\t\treturn function linkify(opts) {\n\t\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t} catch (e) {\n\t\t// IE 8 doesn't like Object.defineProperty on non-DOM objects\n\t\tif (!String.prototype.linkify) {\n\t\t\tString.prototype.linkify = function (opts) {\n\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t};\n\t\t}\n\t}\n}\n\nexports.default = linkifyStr;","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _text = require('./tokens/text');\n\nvar TOKENS = _interopRequireWildcard(_text);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n\n\t@module linkify\n\t@submodule scanner\n\t@main scanner\n*/\n\nvar NUMBERS = '0123456789'.split('');\nvar ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nvar WHITESPACE = [' ', '\\f', '\\r', '\\t', '\\v', '\\xA0', '\\u1680', '\\u180E']; // excluding line breaks\n\nvar domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.CharacterState(tokenClass);\n};\n\n// Frequently used states\nvar S_START = makeState();\nvar S_NUM = makeState(_text.NUM);\nvar S_DOMAIN = makeState(_text.DOMAIN);\nvar S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters\nvar S_WS = makeState(_text.WS);\n\n// States for special URL symbols\nS_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '\"', '\\''], makeState(_text.PUNCTUATION));\n\n// Whitespace jumps\n// Tokens of only non-newline whitespace are arbitrarily long\nS_START.on('\\n', makeState(_text.NL)).on(WHITESPACE, S_WS);\n\n// If any whitespace except newline, more whitespace!\nS_WS.on(WHITESPACE, S_WS);\n\n// Generates states for top-level domains\n// Note that this is most accurate when tlds are in alphabetical order\nfor (var i = 0; i < tlds.length; i++) {\n\tvar newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);\n\tdomainStates.push.apply(domainStates, newStates);\n}\n\n// Collect the states generated by different protocls\nvar partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN);\n\n// Add the states to the array of DOMAINeric states\ndomainStates.push.apply(domainStates, partialProtocolFileStates);\ndomainStates.push.apply(domainStates, partialProtocolFtpStates);\ndomainStates.push.apply(domainStates, partialProtocolHttpStates);\ndomainStates.push.apply(domainStates, partialProtocolMailtoStates);\n\n// Protocol states\nvar S_PROTOCOL_FILE = partialProtocolFileStates.pop();\nvar S_PROTOCOL_FTP = partialProtocolFtpStates.pop();\nvar S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();\nvar S_MAILTO = partialProtocolMailtoStates.pop();\nvar S_PROTOCOL_SECURE = makeState(_text.DOMAIN);\nvar S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON\nvar S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON\n\n// Secure protocols (end with 's')\nS_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\nS_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\ndomainStates.push(S_PROTOCOL_SECURE);\n\n// Become protocol tokens after a COLON\nS_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);\nS_MAILTO.on(':', S_FULL_MAILTO);\n\n// Localhost\nvar partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);\ndomainStates.push.apply(domainStates, partialLocalhostStates);\n\n// Everything else\n// DOMAINs make more DOMAINs\n// Number and character transitions\nS_START.on(NUMBERS, S_NUM);\nS_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN\n\nS_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n\n// All the generated states should have a jump to DOMAIN\nfor (var _i = 0; _i < domainStates.length; _i++) {\n\tdomainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n}\n\nS_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN);\n\n// Set default transition\nS_START.defaultTransition = makeState(_text.SYM);\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {String} str Input string to scan\n\t@return {Array} Array of TOKEN instances\n*/\nvar run = function run(str) {\n\n\t// The state machine only looks at lowercase strings.\n\t// This selective `toLowerCase` is used because lowercasing the entire\n\t// string causes the length and character position to vary in some in some\n\t// non-English strings. This happens only on V8-based runtimes.\n\tvar lowerStr = str.replace(/[A-Z]/g, function (c) {\n\t\treturn c.toLowerCase();\n\t});\n\tvar len = str.length;\n\tvar tokens = []; // return value\n\n\tvar cursor = 0;\n\n\t// Tokenize the string\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar nextState = null;\n\t\tvar tokenLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && (nextState = state.next(lowerStr[cursor]))) {\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\ttokenLength++;\n\t\t\tcursor++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\t\t\tcontinue;\n\t\t} // Should never happen\n\n\t\t// Roll back to the latest accepting state\n\t\tcursor -= sinceAccepts;\n\t\ttokenLength -= sinceAccepts;\n\n\t\t// Get the class for the new token\n\t\tvar TOKEN = latestAccepting.emit(); // Current token class\n\n\t\t// No more jumps, just make a new token\n\t\ttokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));\n\t}\n\n\treturn tokens;\n};\n\nvar start = S_START;\nexports.State = _state.CharacterState;\nexports.TOKENS = TOKENS;\nexports.run = run;\nexports.start = start;","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\n\nexports.__esModule = true;\nexports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\nvar _text = require('./text');\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n// Is the given token a valid domain token?\n// Should nums be included here?\nfunction isDomainToken(token) {\n\treturn token instanceof _text.DOMAIN || token instanceof _text.TLD;\n}\n\n/**\n\tAbstract class used for manufacturing tokens of text tokens. That is rather\n\tthan the value for a token being a small string of text, it's value an array\n\tof text tokens.\n\n\tUsed for grouping together URLs, emails, hashtags, and other potential\n\tcreations.\n\n\t@class MultiToken\n\t@abstract\n*/\nvar MultiToken = (0, _createTokenClass.createTokenClass)();\n\nMultiToken.prototype = {\n\t/**\n \tString representing the type for this token\n \t@property type\n \t@default 'TOKEN'\n */\n\ttype: 'token',\n\n\t/**\n \tIs this multitoken a link?\n \t@property isLink\n \t@default false\n */\n\tisLink: false,\n\n\t/**\n \tReturn the string this token represents.\n \t@method toString\n \t@return {String}\n */\n\ttoString: function toString() {\n\t\tvar result = [];\n\t\tfor (var i = 0; i < this.v.length; i++) {\n\t\t\tresult.push(this.v[i].toString());\n\t\t}\n\t\treturn result.join('');\n\t},\n\n\n\t/**\n \tWhat should the value for this token be in the `href` HTML attribute?\n \tReturns the `.toString` value by default.\n \t\t@method toHref\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\treturn this.toString();\n\t},\n\n\n\t/**\n \tReturns a hash of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {String} [protocol] `'http'` by default\n \t@return {Object}\n */\n\ttoObject: function toObject() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue: this.toString(),\n\t\t\thref: this.toHref(protocol)\n\t\t};\n\t}\n};\n\n/**\n\tRepresents an arbitrarily mailto email address with the prefix included\n\t@class MAILTO\n\t@extends MultiToken\n*/\nvar MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true\n});\n\n/**\n\tRepresents a list of tokens making up a valid email address\n\t@class EMAIL\n\t@extends MultiToken\n*/\nvar EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true,\n\ttoHref: function toHref() {\n\t\treturn 'mailto:' + this.toString();\n\t}\n});\n\n/**\n\tRepresents some plain text\n\t@class TEXT\n\t@extends MultiToken\n*/\nvar TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'text' });\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class NL\n\t@extends MultiToken\n*/\nvar NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'nl' });\n\n/**\n\tRepresents a list of tokens making up a valid URL\n\t@class URL\n\t@extends MultiToken\n*/\nvar URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'url',\n\tisLink: true,\n\n\t/**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@method href\n \t@param {String} protocol\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\tvar hasProtocol = false;\n\t\tvar hasSlashSlash = false;\n\t\tvar tokens = this.v;\n\t\tvar result = [];\n\t\tvar i = 0;\n\n\t\t// Make the first part of the domain lowercase\n\t\t// Lowercase protocol\n\t\twhile (tokens[i] instanceof _text.PROTOCOL) {\n\t\t\thasProtocol = true;\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Skip slash-slash\n\t\twhile (tokens[i] instanceof _text.SLASH) {\n\t\t\thasSlashSlash = true;\n\t\t\tresult.push(tokens[i].toString());\n\t\t\ti++;\n\t\t}\n\n\t\t// Lowercase all other characters in the domain\n\t\twhile (isDomainToken(tokens[i])) {\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Leave all other characters as they were written\n\t\tfor (; i < tokens.length; i++) {\n\t\t\tresult.push(tokens[i].toString());\n\t\t}\n\n\t\tresult = result.join('');\n\n\t\tif (!(hasProtocol || hasSlashSlash)) {\n\t\t\tresult = protocol + '://' + result;\n\t\t}\n\n\t\treturn result;\n\t},\n\thasProtocol: function hasProtocol() {\n\t\treturn this.v[0] instanceof _text.PROTOCOL;\n\t}\n});\n\nexports.Base = MultiToken;\nexports.MAILTOEMAIL = MAILTOEMAIL;\nexports.EMAIL = EMAIL;\nexports.NL = NL;\nexports.TEXT = TEXT;\nexports.URL = URL;","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","module.exports = typeof window == 'object';\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar StorageBuilder =\n/*#__PURE__*/\nfunction () {\n function StorageBuilder(appId) {\n _classCallCheck(this, StorageBuilder);\n\n _defineProperty(this, \"appId\", void 0);\n\n _defineProperty(this, \"persisted\", false);\n\n _defineProperty(this, \"clearedOnLogout\", false);\n\n this.appId = appId;\n }\n\n _createClass(StorageBuilder, [{\n key: \"persist\",\n value: function persist() {\n var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.persisted = _persist;\n return this;\n }\n }, {\n key: \"clearOnLogout\",\n value: function clearOnLogout() {\n var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n }]);\n\n return StorageBuilder;\n}();\n\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","import valid from \"semver/functions/valid\";\nimport major from \"semver/functions/major\";\n\nimport packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class ProxyBus implements EventBus {\n\n private bus: EventBus;\n\n constructor(bus: EventBus) {\n if (typeof bus.getVersion !== 'function' || !valid(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version')\n } else if (major(bus.getVersion()) !== major(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion())\n }\n\n this.bus = bus;\n }\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.bus.subscribe(name, handler);\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.bus.unsubscribe(name, handler);\n }\n\n emit(name: string, event: Event): void {\n this.bus.emit(name, event);\n }\n\n}\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","import packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class SimpleBus implements EventBus {\n\n private handlers = new Map<string, EventHandler[]>();\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(h => h != handler));\n }\n\n emit(name: string, event: Event): void {\n (this.handlers.get(name) || []).forEach(h => {\n try {\n h(event)\n } catch (e) {\n console.error('could not invoke event listener', e)\n }\n })\n }\n\n}\n","/**\n *\n *\n * @author Jerry Bendy <jerry@icewingcc.com>\n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLoggerBuilder = getLoggerBuilder;\nexports.getLogger = getLogger;\n\nvar _ConsoleLogger = require(\"./ConsoleLogger\");\n\nvar _LoggerBuilder = require(\"./LoggerBuilder\");\n\n/**\n * Build a customized logger instance\n */\nfunction getLoggerBuilder() {\n return new _LoggerBuilder.LoggerBuilder(_ConsoleLogger.buildConsoleLogger);\n}\n/**\n * Get a default logger instance without any configuration\n */\n\n\nfunction getLogger() {\n return getLoggerBuilder().build();\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.buildConsoleLogger = buildConsoleLogger;\nexports.ConsoleLogger = void 0;\n\nvar _contracts = require(\"./contracts\");\n\nclass ConsoleLogger {\n constructor(context) {\n this.context = context;\n }\n\n formatMessage(message, level, context) {\n let msg = '[' + level + ']';\n\n if (context && context.app) {\n msg += ' ' + context.app + ': ';\n }\n\n return msg + message;\n }\n\n log(level, message, context) {\n switch (level) {\n case 0:\n console.debug(this.formatMessage(message, _contracts.LogLevel.Debug, context), context);\n break;\n\n case 1:\n console.info(this.formatMessage(message, _contracts.LogLevel.Info, context), context);\n break;\n\n case 2:\n console.warn(this.formatMessage(message, _contracts.LogLevel.Warn, context), context);\n break;\n\n case 3:\n console.error(this.formatMessage(message, _contracts.LogLevel.Error, context), context);\n break;\n\n default:\n console.error(this.formatMessage(message, _contracts.LogLevel.Fatal, context), context);\n break;\n }\n }\n\n debug(message, context) {\n this.log(0, message, Object.assign({}, this.context, context));\n }\n\n info(message, context) {\n this.log(1, message, Object.assign({}, this.context, context));\n }\n\n warn(message, context) {\n this.log(2, message, Object.assign({}, this.context, context));\n }\n\n error(message, context) {\n this.log(3, message, Object.assign({}, this.context, context));\n }\n\n fatal(message, context) {\n this.log(4, message, Object.assign({}, this.context, context));\n }\n\n}\n\nexports.ConsoleLogger = ConsoleLogger;\n\nfunction buildConsoleLogger(context) {\n return new ConsoleLogger(context);\n}\n//# sourceMappingURL=ConsoleLogger.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogLevel = void 0;\nlet LogLevel;\nexports.LogLevel = LogLevel;\n\n(function (LogLevel) {\n LogLevel[\"Debug\"] = \"DEBUG\";\n LogLevel[\"Info\"] = \"INFO\";\n LogLevel[\"Warn\"] = \"WARN\";\n LogLevel[\"Error\"] = \"ERROR\";\n LogLevel[\"Fatal\"] = \"FATAL\";\n})(LogLevel || (exports.LogLevel = LogLevel = {}));\n//# sourceMappingURL=contracts.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoggerBuilder = void 0;\n\nvar _auth = require(\"@nextcloud/auth\");\n\nclass LoggerBuilder {\n constructor(factory) {\n this.context = {};\n this.factory = factory;\n }\n\n setApp(appId) {\n this.context.app = appId;\n return this;\n }\n\n setUid(uid) {\n this.context.uid = uid;\n return this;\n }\n\n detectUser() {\n const user = (0, _auth.getCurrentUser)();\n\n if (user !== null) {\n this.context.uid = user.uid;\n }\n\n return this;\n }\n\n build() {\n return this.factory(this.context);\n }\n\n}\n\nexports.LoggerBuilder = LoggerBuilder;\n//# sourceMappingURL=LoggerBuilder.js.map","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Config {\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn document.getElementById('filestable')\n\t\t\t&& document.getElementById('filestable').dataset.allowPublicUpload === 'yes'\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default link share expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default internal expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultInternalExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultInternalExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default remote expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultRemoteExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultRemoteExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is internal shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is remote shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new internal shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\t// eslint-disable-next-line camelcase\n\t\treturn capabilities?.files_sharing?.sharebymail !== undefined\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\t&& capabilities?.files_sharing?.public?.enabled === true\n\t}\n\n\t/**\n\t * Get the default days to link shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Get the default days to internal shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpireDate() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDate\n\t}\n\n\t/**\n\t * Get the default days to remote shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpireDate() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (OC.getCapabilities().files_sharing.sharebymail === undefined) ? false : OC.getCapabilities().files_sharing.sharebymail.password.enforced\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget shouldAlwaysShowUnique() {\n\t\treturn (OC.getCapabilities().files_sharing?.sharee?.always_show_unique === true)\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 25\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @returns {Object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\treturn capabilities.password_policy ? capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Share {\n\n\t_share;\n\n\t/**\n\t * Create the share object\n\t *\n\t * @param {Object} ocsData ocs request response\n\t */\n\tconstructor(ocsData) {\n\t\tif (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n\t\t\tocsData = ocsData.ocs.data[0]\n\t\t}\n\n\t\t// convert int into boolean\n\t\tocsData.hide_download = !!ocsData.hide_download\n\t\tocsData.mail_send = !!ocsData.mail_send\n\n\t\t// store state\n\t\tthis._share = ocsData\n\t}\n\n\t/**\n\t * Get the share state\n\t * ! used for reactivity purpose\n\t * Do not remove. It allow vuejs to\n\t * inject its watchers into the #share\n\t * state and make the whole class reactive\n\t *\n\t * @returns {Object} the share raw state\n\t * @readonly\n\t * @memberof Sidebar\n\t */\n\tget state() {\n\t\treturn this._share\n\t}\n\n\t/**\n\t * get the share id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget id() {\n\t\treturn this._share.id\n\t}\n\n\t/**\n\t * Get the share type\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget type() {\n\t\treturn this._share.share_type\n\t}\n\n\t/**\n\t * Get the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget permissions() {\n\t\treturn this._share.permissions\n\t}\n\n\t/**\n\t * Set the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @param {int} permissions valid permission, See OC.PERMISSION_* variables\n\t * @memberof Share\n\t */\n\tset permissions(permissions) {\n\t\tthis._share.permissions = permissions\n\t}\n\n\t// SHARE OWNER --------------------------------------------------\n\t/**\n\t * Get the share owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget owner() {\n\t\treturn this._share.uid_owner\n\t}\n\n\t/**\n\t * Get the share owner's display name\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget ownerDisplayName() {\n\t\treturn this._share.displayname_owner\n\t}\n\n\t// SHARED WITH --------------------------------------------------\n\t/**\n\t * Get the share with entity uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWith() {\n\t\treturn this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayName() {\n\t\treturn this._share.share_with_displayname\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Unique display name in case of multiple\n\t * duplicates results with the same name.\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayNameUnique() {\n\t\treturn this._share.share_with_displayname_unique\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithLink() {\n\t\treturn this._share.share_with_link\n\t}\n\n\t/**\n\t * Get the share with avatar if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithAvatar() {\n\t\treturn this._share.share_with_avatar\n\t}\n\n\t// SHARED FILE OR FOLDER OWNER ----------------------------------\n\t/**\n\t * Get the shared item owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget uidFileOwner() {\n\t\treturn this._share.uid_file_owner\n\t}\n\n\t/**\n\t * Get the shared item display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget displaynameFileOwner() {\n\t\treturn this._share.displayname_file_owner\n\t\t\t|| this._share.uid_file_owner\n\t}\n\n\t// TIME DATA ----------------------------------------------------\n\t/**\n\t * Get the share creation timestamp\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget createdTime() {\n\t\treturn this._share.stime\n\t}\n\n\t/**\n\t * Get the expiration date as a string format\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget expireDate() {\n\t\treturn this._share.expiration\n\t}\n\n\t/**\n\t * Set the expiration date as a string format\n\t * e.g. YYYY-MM-DD\n\t *\n\t * @param {string} date the share expiration date\n\t * @memberof Share\n\t */\n\tset expireDate(date) {\n\t\tthis._share.expiration = date\n\t}\n\n\t// EXTRA DATA ---------------------------------------------------\n\t/**\n\t * Get the public share token\n\t *\n\t * @returns {string} the token\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget token() {\n\t\treturn this._share.token\n\t}\n\n\t/**\n\t * Get the share note if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget note() {\n\t\treturn this._share.note\n\t}\n\n\t/**\n\t * Set the share note if any\n\t *\n\t * @param {string} note the note\n\t * @memberof Share\n\t */\n\tset note(note) {\n\t\tthis._share.note = note\n\t}\n\n\t/**\n\t * Get the share label if any\n\t * Should only exist on link shares\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget label() {\n\t\treturn this._share.label\n\t}\n\n\t/**\n\t * Set the share label if any\n\t * Should only be set on link shares\n\t *\n\t * @param {string} label the label\n\t * @memberof Share\n\t */\n\tset label(label) {\n\t\tthis._share.label = label\n\t}\n\n\t/**\n\t * Have a mail been sent\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mailSend() {\n\t\treturn this._share.mail_send === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hideDownload() {\n\t\treturn this._share.hide_download === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @param {boolean} state hide the button ?\n\t * @memberof Share\n\t */\n\tset hideDownload(state) {\n\t\tthis._share.hide_download = state === true\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget password() {\n\t\treturn this._share.password\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @param {string} password the share password\n\t * @memberof Share\n\t */\n\tset password(password) {\n\t\tthis._share.password = password\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @returns {Boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget sendPasswordByTalk() {\n\t\treturn this._share.send_password_by_talk\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @param {Boolean} sendPasswordByTalk whether to send the password by Talk\n\t * or not\n\t * @memberof Share\n\t */\n\tset sendPasswordByTalk(sendPasswordByTalk) {\n\t\tthis._share.send_password_by_talk = sendPasswordByTalk\n\t}\n\n\t// SHARED ITEM DATA ---------------------------------------------\n\t/**\n\t * Get the shared item absolute full path\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget path() {\n\t\treturn this._share.path\n\t}\n\n\t/**\n\t * Return the item type: file or folder\n\t *\n\t * @returns {string} 'folder' or 'file'\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget itemType() {\n\t\treturn this._share.item_type\n\t}\n\n\t/**\n\t * Get the shared item mimetype\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mimetype() {\n\t\treturn this._share.mimetype\n\t}\n\n\t/**\n\t * Get the shared item id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileSource() {\n\t\treturn this._share.file_source\n\t}\n\n\t/**\n\t * Get the target path on the receiving end\n\t * e.g the file /xxx/aaa will be shared in\n\t * the receiving root as /aaa, the fileTarget is /aaa\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileTarget() {\n\t\treturn this._share.file_target\n\t}\n\n\t/**\n\t * Get the parent folder id if any\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileParent() {\n\t\treturn this._share.file_parent\n\t}\n\n\t// PERMISSIONS Shortcuts\n\n\t/**\n\t * Does this share have READ permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasReadPermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_READ))\n\t}\n\n\t/**\n\t * Does this share have CREATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasCreatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_CREATE))\n\t}\n\n\t/**\n\t * Does this share have DELETE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDeletePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_DELETE))\n\t}\n\n\t/**\n\t * Does this share have UPDATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasUpdatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_UPDATE))\n\t}\n\n\t/**\n\t * Does this share have SHARE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasSharePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_SHARE))\n\t}\n\n\t// PERMISSIONS Shortcuts for the CURRENT USER\n\t// ! the permissions above are the share settings,\n\t// ! meaning the permissions for the recipient\n\t/**\n\t * Can the current user EDIT this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canEdit() {\n\t\treturn this._share.can_edit === true\n\t}\n\n\t/**\n\t * Can the current user DELETE this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canDelete() {\n\t\treturn this._share.can_delete === true\n\t}\n\n\t/**\n\t * Top level accessible shared folder fileid for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaFileid() {\n\t\treturn this._share.via_fileid\n\t}\n\n\t/**\n\t * Top level accessible shared folder path for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaPath() {\n\t\treturn this._share.via_path\n\t}\n\n\t// TODO: SORT THOSE PROPERTIES\n\n\tget parent() {\n\t\treturn this._share.parent\n\t}\n\n\tget storageId() {\n\t\treturn this._share.storage_id\n\t}\n\n\tget storage() {\n\t\treturn this._share.storage\n\t}\n\n\tget itemSource() {\n\t\treturn this._share.item_source\n\t}\n\n\tget status() {\n\t\treturn this._share.status\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_DECK: OC.Share.SHARE_TYPE_DECK,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\n\t\t}\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div v-tooltip=\"tooltip\" class=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<Actions v-if=\"$slots['default']\" menu-align=\"right\" class=\"sharing-entry__actions\">\n\t\t\t<slot />\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tActions,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\th5 {\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: inherit;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=1436bf4a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=1436bf4a&scoped=true&\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=1436bf4a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1436bf4a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"sharing-entry__desc\"},[_c('h5',[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"}},[_vm._t(\"default\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n\t<SharingEntrySimple\n\t\tclass=\"sharing-entry__internal\"\n\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t<template #avatar>\n\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t</template>\n\n\t\t<ActionLink ref=\"copyButton\"\n\t\t\t:href=\"internalLink\"\n\t\t\ttarget=\"_blank\"\n\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t@click.prevent=\"copyLink\">\n\t\t\t{{ clipboardTooltip }}\n\t\t</ActionLink>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport SharingEntrySimple from './SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tActionLink,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t * @returns {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for users with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for users with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.internalLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=8239c8d6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=8239c8d6&scoped=true&\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=8239c8d6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8239c8d6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionLink',{ref:\"copyButton\",attrs:{\"href\":_vm.internalLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport Config from '../services/ConfigService'\n\nconst config = new Config()\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789'\n\n/**\n * Generate a valid policy password or\n * request a valid password if password_policy\n * is enabled\n *\n * @returns {string} a valid password\n */\nexport default async function() {\n\t// password policy is enabled, let's request a pass\n\tif (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n\t\ttry {\n\t\t\tconst request = await axios.get(config.passwordPolicy.api.generate)\n\t\t\tif (request.data.ocs.data.password) {\n\t\t\t\treturn request.data.ocs.data.password\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.info('Error generating password from password_policy', error)\n\t\t}\n\t}\n\n\t// generate password of 10 length based on passwordSet\n\treturn Array(10).fill(0)\n\t\t.reduce((prev, curr) => {\n\t\t\tprev += passwordSet.charAt(Math.floor(Math.random() * passwordSet.length))\n\t\t\treturn prev\n\t\t}, '')\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\nconst headers = {\n\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n}\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {Object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload=false] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions=31] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk=false] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate=''] expire the shareautomatically after\n\t\t * @param {string} [data.label=''] custom label\n\t\t * @returns {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn new Share(request.data.ocs.data)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {Object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties, headers)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' }\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Multiselect ref=\"multiselect\"\n\t\tclass=\"sharing-input\"\n\t\t:clear-on-select=\"true\"\n\t\t:disabled=\"!canReshare\"\n\t\t:hide-selected=\"true\"\n\t\t:internal-search=\"false\"\n\t\t:loading=\"loading\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"inputPlaceholder\"\n\t\t:preselect-first=\"true\"\n\t\t:preserve-search=\"true\"\n\t\t:searchable=\"true\"\n\t\t:user-select=\"true\"\n\t\topen-direction=\"below\"\n\t\tlabel=\"displayName\"\n\t\ttrack-by=\"id\"\n\t\t@search-change=\"asyncFind\"\n\t\t@select=\"addShare\">\n\t\t<template #noOptions>\n\t\t\t{{ t('files_sharing', 'No recommendations. Start typing.') }}\n\t\t</template>\n\t\t<template #noResult>\n\t\t\t{{ noResultText }}\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\n\nimport Config from '../services/ConfigService'\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport ShareRequests from '../mixins/ShareRequests'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\n\tmixins: [ShareTypes, ShareRequests],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.getRecommendations()\n\t},\n\n\tmethods: {\n\t\tasync asyncFind(query, id) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup=false] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (OC.getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tconst shareType = [\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_CIRCLE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_ROOM,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GUEST,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_DECK,\n\t\t\t]\n\n\t\t\tif (OC.getCapabilities().files_sharing.public.enabled === true) {\n\t\t\t\tshareType.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurances of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {Object[]} shares the array of shares object\n\t\t * @returns {Object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t * @param {number} type the share type\n\t\t * @returns {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\t// default is a user, other icons are here to differenciate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_REMOTE:\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn 'icon-user'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn 'icon-group'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn 'icon-mail'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn 'icon-circle'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn 'icon-room'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn 'icon-deck'\n\n\t\t\tdefault:\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t * @param {Object} result select entry item\n\t\t * @returns {Object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subtitle\n\t\t\tif (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubtitle = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t\t|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t\t) && result.value.server) {\n\t\t\t\tsubtitle = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tsubtitle = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubtitle = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: `${result.value.shareType}-${result.value.shareWith}`,\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubtitle,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\ticon: this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the new share request\n\t\t * @param {Object} value the multiselect option\n\t\t */\n\t\tasync addShare(value) {\n\t\t\tif (value.lookup) {\n\t\t\t\tawait this.getSuggestions(this.query, true)\n\n\t\t\t\t// focus the input again\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.$refs.multiselect.$el.querySelector('.multiselect__input').focus()\n\t\t\t\t})\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\tif (value.handler) {\n\t\t\t\tconst share = await value.handler(this)\n\t\t\t\tthis.$emit('add:share', new Share(share))\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tconsole.debug('Adding a new share from the input for', value)\n\t\t\ttry {\n\t\t\t\tlet password = null\n\n\t\t\t\tif (this.config.enforcePasswordForPublicLink\n\t\t\t\t\t&& value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tpassword = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst share = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: value.shareType,\n\t\t\t\t\tshareWith: value.shareWith,\n\t\t\t\t\tpassword,\n\t\t\t\t\tpermissions: this.fileInfo.sharePermissions & OC.getCapabilities().files_sharing.default_permissions,\n\t\t\t\t})\n\n\t\t\t\t// If we had a password, we need to show it to the user as it was generated\n\t\t\t\tif (password) {\n\t\t\t\t\tshare.newPassword = password\n\t\t\t\t\t// Wait for the newly added share\n\t\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t\t})\n\n\t\t\t\t\t// open the menu on the\n\t\t\t\t\t// freshly created share component\n\t\t\t\t\tcomponent.open = true\n\t\t\t\t} else {\n\t\t\t\t\t// Else we just add it normally\n\t\t\t\t\tthis.$emit('add:share', share)\n\t\t\t\t}\n\n\t\t\t\t// reset the search string when done\n\t\t\t\t// FIXME: https://github.com/shentao/vue-multiselect/issues/633\n\t\t\t\tif (this.$refs.multiselect?.$refs?.VueMultiselect?.search) {\n\t\t\t\t\tthis.$refs.multiselect.$refs.VueMultiselect.search = ''\n\t\t\t\t}\n\n\t\t\t\tawait this.getRecommendations()\n\t\t\t} catch (error) {\n\t\t\t\t// focus back if any error\n\t\t\t\tconst input = this.$refs.multiselect.$el.querySelector('input')\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t\tthis.query = value.shareWith\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-input {\n\twidth: 100%;\n\tmargin: 10px 0;\n\n\t// properly style the lookup entry\n\t.multiselect__option {\n\t\tspan[lookup] {\n\t\t\t.avatardiv {\n\t\t\t\tbackground-image: var(--icon-search-fff);\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t\tdiv {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=0d598a04&\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{ref:\"multiselect\",staticClass:\"sharing-input\",attrs:{\"clear-on-select\":true,\"disabled\":!_vm.canReshare,\"hide-selected\":true,\"internal-search\":false,\"loading\":_vm.loading,\"options\":_vm.options,\"placeholder\":_vm.inputPlaceholder,\"preselect-first\":true,\"preserve-search\":true,\"searchable\":true,\"user-select\":true,\"open-direction\":\"below\",\"label\":\"displayName\",\"track-by\":\"id\"},on:{\"search-change\":_vm.asyncFind,\"select\":_vm.addShare},scopedSlots:_vm._u([{key:\"noOptions\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\")]},proxy:true},{key:\"noResult\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.noResultText)+\"\\n\\t\")]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\nexport default function pTimeout(promise, milliseconds, fallback, options) {\n\tlet timer;\n\tconst cancelablePromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || milliseconds < 0) {\n\t\t\tthrow new TypeError('Expected `milliseconds` to be a positive number');\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tresolve(promise);\n\t\t\treturn;\n\t\t}\n\n\t\toptions = {\n\t\t\tcustomTimers: {setTimeout, clearTimeout},\n\t\t\t...options\n\t\t};\n\n\t\ttimer = options.customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (typeof fallback === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst message = typeof fallback === 'string' ? fallback : `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\tconst timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\treject(timeoutError);\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t} finally {\n\t\t\t\toptions.customTimers.clearTimeout.call(undefined, timer);\n\t\t\t}\n\t\t})();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n constructor() {\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n enqueue(run, options) {\n var _a;\n options = {\n priority: 0,\n ...options\n };\n const element = {\n priority: options.priority,\n run\n };\n if (this.size && ((_a = this._queue[this.size - 1]) === null || _a === void 0 ? void 0 : _a.priority) >= options.priority) {\n this._queue.push(element);\n return;\n }\n const index = lowerBound(this._queue, element, (a, b) => b.priority - a.priority);\n this._queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this._queue.shift();\n return item === null || item === void 0 ? void 0 : item.run;\n }\n filter(options) {\n return this._queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this._queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import EventEmitter from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst empty = () => { };\nconst timeoutError = new TimeoutError();\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n constructor(options) {\n var _a, _b, _c, _d;\n super();\n Object.defineProperty(this, \"_carryoverConcurrencyCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isIntervalIgnored\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalCap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_interval\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalEnd\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_timeoutId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queueClass\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_pendingCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n Object.defineProperty(this, \"_concurrency\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isPaused\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_resolveEmpty\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_resolveIdle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_timeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_throwOnTimeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${(_b = (_a = options.intervalCap) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${(_d = (_c = options.interval) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : ''}\\` (${typeof options.interval})`);\n }\n this._carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this._isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this._intervalCap = options.intervalCap;\n this._interval = options.interval;\n this._queue = new options.queueClass();\n this._queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this._timeout = options.timeout;\n this._throwOnTimeout = options.throwOnTimeout === true;\n this._isPaused = options.autoStart === false;\n }\n get _doesIntervalAllowAnother() {\n return this._isIntervalIgnored || this._intervalCount < this._intervalCap;\n }\n get _doesConcurrentAllowAnother() {\n return this._pendingCount < this._concurrency;\n }\n _next() {\n this._pendingCount--;\n this._tryToStartAnother();\n this.emit('next');\n }\n _resolvePromises() {\n this._resolveEmpty();\n this._resolveEmpty = empty;\n if (this._pendingCount === 0) {\n this._resolveIdle();\n this._resolveIdle = empty;\n this.emit('idle');\n }\n }\n _onResumeInterval() {\n this._onInterval();\n this._initializeIntervalIfNeeded();\n this._timeoutId = undefined;\n }\n _isIntervalPaused() {\n const now = Date.now();\n if (this._intervalId === undefined) {\n const delay = this._intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this._intervalCount = (this._carryoverConcurrencyCount) ? this._pendingCount : 0;\n }\n else {\n // Act as the interval is pending\n if (this._timeoutId === undefined) {\n this._timeoutId = setTimeout(() => {\n this._onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n _tryToStartAnother() {\n if (this._queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this._intervalId) {\n clearInterval(this._intervalId);\n }\n this._intervalId = undefined;\n this._resolvePromises();\n return false;\n }\n if (!this._isPaused) {\n const canInitializeInterval = !this._isIntervalPaused();\n if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) {\n const job = this._queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this._initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n _initializeIntervalIfNeeded() {\n if (this._isIntervalIgnored || this._intervalId !== undefined) {\n return;\n }\n this._intervalId = setInterval(() => {\n this._onInterval();\n }, this._interval);\n this._intervalEnd = Date.now() + this._interval;\n }\n _onInterval() {\n if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = undefined;\n }\n this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;\n this._processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n _processQueue() {\n // eslint-disable-next-line no-empty\n while (this._tryToStartAnother()) { }\n }\n get concurrency() {\n return this._concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this._concurrency = newConcurrency;\n this._processQueue();\n }\n /**\n Adds a sync or async task to the queue. Always returns a promise.\n */\n async add(fn, options = {}) {\n return new Promise((resolve, reject) => {\n const run = async () => {\n this._pendingCount++;\n this._intervalCount++;\n try {\n const operation = (this._timeout === undefined && options.timeout === undefined) ? fn() : pTimeout(Promise.resolve(fn()), (options.timeout === undefined ? this._timeout : options.timeout), () => {\n if (options.throwOnTimeout === undefined ? this._throwOnTimeout : options.throwOnTimeout) {\n reject(timeoutError);\n }\n return undefined;\n });\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n reject(error);\n this.emit('error', error);\n }\n this._next();\n };\n this._queue.enqueue(run, options);\n this._tryToStartAnother();\n this.emit('add');\n });\n }\n /**\n Same as `.add()`, but accepts an array of sync or async functions.\n\n @returns A promise that resolves when all functions are resolved.\n */\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this._isPaused) {\n return this;\n }\n this._isPaused = false;\n this._processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this._isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this._queue = new this._queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveEmpty;\n this._resolveEmpty = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this._queue.size < limit) {\n return;\n }\n return new Promise(resolve => {\n const listener = () => {\n if (this._queue.size < limit) {\n this.removeListener('next', listener);\n resolve();\n }\n };\n this.on('next', listener);\n });\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this._pendingCount === 0 && this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveIdle;\n this._resolveIdle = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this._queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this._queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this._pendingCount;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this._isPaused;\n }\n get timeout() {\n return this._timeout;\n }\n /**\n Set the timeout for future operations.\n */\n set timeout(milliseconds) {\n this._timeout = milliseconds;\n }\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport PQueue from 'p-queue/dist/index'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share'\nimport SharesRequests from './ShareRequests'\nimport ShareTypes from './ShareTypes'\nimport Config from '../services/ConfigService'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t * @returns {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn moment().add(1, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Datepicker lang values\n\t\t * https://github.com/nextcloud/nextcloud-vue/pull/146\n\t\t * TODO: have this in vue-components\n\t\t *\n\t\t * @returns {int}\n\t\t */\n\t\tfirstDay() {\n\t\t\treturn window.firstDay\n\t\t\t\t? window.firstDay\n\t\t\t\t: 0 // sunday as default\n\t\t},\n\t\tlang() {\n\t\t\t// fallback to default in case of unavailable data\n\t\t\treturn {\n\t\t\t\tdays: window.dayNamesShort\n\t\t\t\t\t? window.dayNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'],\n\t\t\t\tmonths: window.monthNamesShort\n\t\t\t\t\t? window.monthNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'],\n\t\t\t\tplaceholder: {\n\t\t\t\t\tdate: 'Select Date', // TODO: Translate\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @returns {Boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = moment(share.expirationDate)\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * ActionInput can be a little tricky to work with.\n\t\t * Since we expect a string and not a Date,\n\t\t * we need to process the value here\n\t\t *\n\t\t * @param {Date} date js date to be parsed by moment.js\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\t// format to YYYY-MM-DD\n\t\t\tconst value = moment(date).format('YYYY-MM-DD')\n\t\t\tthis.share.expireDate = value\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t * @param {String} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t * @param {string} note the note\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {string} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.map(p => (properties[p] = this.share[p].toString()))\n\n\t\t\t\tthis.updateQueue.add(async() => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\n\t\t\t\t\t} catch ({ message }) {\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconsole.error('Cannot update share.', this.share, 'No valid id')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\n\t\t/**\n\t\t * Returns which dates are disabled for the datepicker\n\t\t * @param {Date} date date to check\n\t\t * @returns {boolean}\n\t\t */\n\t\tdisabledDate(date) {\n\t\t\tconst dateMoment = moment(date)\n\t\t\treturn (this.dateTomorrow && dateMoment.isBefore(this.dateTomorrow, 'day'))\n\t\t\t\t|| (this.dateMaxEnforced && dateMoment.isSameOrAfter(this.dateMaxEnforced, 'day'))\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<SharingEntrySimple\n\t\t:key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<Avatar\n\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\ttooltip-message=\"\" />\n\t\t</template>\n\t\t<ActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</ActionText>\n\t\t<ActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</ActionLink>\n\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</actionbutton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tActionLink,\n\t\tActionText,\n\t\tAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=c58e421a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=c58e421a&scoped=true&\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=c58e421a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c58e421a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":\"\"}})]},proxy:true}])},[_vm._v(\" \"),_c('ActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('ActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple\n\t\t\tclass=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<ActionButton :icon=\"showInheritedSharesIcon\" @click.prevent.stop=\"toggleInheritedShares\">\n\t\t\t\t{{ toggleTooltip }}\n\t\t\t</ActionButton>\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share'\nimport SharingEntryInherited from '../components/SharingEntryInherited'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other users with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=1c2059ae&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=1c2059ae&scoped=true&\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=1c2059ae&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c2059ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.toggleTooltip)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li :class=\"{'sharing-entry--share': share}\" class=\"sharing-entry sharing-entry__link\">\n\t\t<Avatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<h5 :title=\"title\">\n\t\t\t\t{{ title }}\n\t\t\t</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\n\t\t<!-- clipboard -->\n\t\t<Actions v-if=\"share && !isEmailShareType && share.token\"\n\t\t\tref=\"copyButton\"\n\t\t\tclass=\"sharing-entry__copy\">\n\t\t\t<ActionLink :href=\"shareLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t\t@click.stop.prevent=\"copyLink\">\n\t\t\t\t{{ clipboardTooltip }}\n\t\t\t</ActionLink>\n\t\t</Actions>\n\n\t\t<!-- pending actions -->\n\t\t<Actions v-if=\"!pending && (pendingPassword || pendingExpirationDate)\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onNewLinkShare\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<ActionText v-if=\"errors.pending\"\n\t\t\t\ticon=\"icon-error\"\n\t\t\t\t:class=\"{ error: errors.pending}\">\n\t\t\t\t{{ errors.pending }}\n\t\t\t</ActionText>\n\t\t\t<ActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</ActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<ActionText v-if=\"pendingPassword\" icon=\"icon-password\">\n\t\t\t\t{{ t('files_sharing', 'Password protection (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionCheckbox v-else-if=\"config.enableLinkPasswordByDefault\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ t('files_sharing', 'Password protection') }}\n\t\t\t</ActionCheckbox>\n\t\t\t<ActionInput v-if=\"pendingPassword || share.password\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\tshow: errors.password,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\ticon=\"\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t</ActionInput>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<ActionText v-if=\"pendingExpirationDate\" icon=\"icon-calendar-dark\">\n\t\t\t\t{{ t('files_sharing', 'Expiration date (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionInput v-if=\"pendingExpirationDate\"\n\t\t\t\tv-model=\"share.expireDate\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t:lang=\"lang\"\n\t\t\t\ticon=\"\"\n\t\t\t\ttype=\"date\"\n\t\t\t\tvalue-type=\"format\"\n\t\t\t\t:disabled-date=\"disabledDate\">\n\t\t\t\t<!-- let's not submit when picked, the user\n\t\t\t\t\tmight want to still edit or copy the password -->\n\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t</ActionInput>\n\n\t\t\t<ActionButton icon=\"icon-checkmark\" @click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</ActionButton>\n\t\t\t<ActionButton icon=\"icon-close\" @click.prevent.stop=\"onCancel\">\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- actions -->\n\t\t<Actions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<!-- Custom Label -->\n\t\t\t\t\t<ActionInput\n\t\t\t\t\t\tref=\"label\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.label,\n\t\t\t\t\t\t\tshow: errors.label,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.label }\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value=\"share.newLabel !== undefined ? share.newLabel : share.label\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\tmaxlength=\"255\"\n\t\t\t\t\t\t@update:value=\"onLabelChange\"\n\t\t\t\t\t\t@submit=\"onLabelSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Share label') }}\n\t\t\t\t\t</ActionInput>\n\t\t\t\t\t<!-- folder -->\n\t\t\t\t\t<template v-if=\"isFolder && fileHasCreatePermission && config.isPublicUploadEnabled\">\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRValue\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read only') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__action--public-upload\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'File drop (upload only)') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<!-- file -->\n\t\t\t\t\t<ActionCheckbox v-else\n\t\t\t\t\t\t:checked.sync=\"canUpdate\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('permissions')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- password -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"isPasswordProtected\"\n\t\t\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t\t\t{{ config.enforcePasswordForPublicLink\n\t\t\t\t\t\t\t? t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Password protect') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"isPasswordProtected\"\n\t\t\t\t\t\tref=\"password\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\t\t\tshow: errors.password,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t\t\t:class=\"{ error: errors.password}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:required=\"config.enforcePasswordForPublicLink\"\n\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : '***************'\"\n\t\t\t\t\t\ticon=\"icon-password\"\n\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t:type=\"hasUnsavedPassword ? 'text': 'password'\"\n\t\t\t\t\t\t@update:value=\"onPasswordChange\"\n\t\t\t\t\t\t@submit=\"onPasswordSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- password protected by Talk -->\n\t\t\t\t\t<ActionCheckbox v-if=\"isPasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t:disabled=\"!canTogglePasswordProtectedByTalkAvailable || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-talk-checkbox\"\n\t\t\t\t\t\t@change=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- expiration date -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t\t:disabled=\"config.isDefaultExpireDateEnforced || saving\"\n\t\t\t\t\t\tclass=\"share-link-expire-date-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t\t{{ config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- note -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Enter a note for the share recipient')\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\n\t\t\t\t<!-- external sharing via url (social...) -->\n\t\t\t\t<ActionLink v-for=\"({icon, url, name}, index) in externalActions\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</ActionLink>\n\n\t\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\t\ticon=\"icon-close\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</ActionButton>\n\t\t\t\t<ActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\ticon=\"icon-add\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</ActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<ActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create a new share link') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport Vue from 'vue'\n\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionRadio from '@nextcloud/vue/dist/Components/ActionRadio'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionRadio,\n\t\tActionInput,\n\t\tActionLink,\n\t\tActionText,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tpublicUploadRWValue: OC.PERMISSION_UPDATE | OC.PERMISSION_CREATE | OC.PERMISSION_READ | OC.PERMISSION_DELETE,\n\t\t\tpublicUploadRValue: OC.PERMISSION_READ,\n\t\t\tpublicUploadWValue: OC.PERMISSION_CREATE,\n\n\t\t\tExternalLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Return the current share permissions\n\t\t * We always ignore the SHARE permission as this is used for the\n\t\t * federated sharing.\n\t\t * @returns {number}\n\t\t */\n\t\tsharePermissions() {\n\t\t\treturn this.share.permissions & ~OC.PERMISSION_SHARE\n\t\t},\n\t\t/**\n\t\t * Generate a unique random id for this SharingEntryLink only\n\t\t * This allows ActionRadios to have the same name prop\n\t\t * but not to impact others SharingEntryLink\n\t\t * @returns {string}\n\t\t */\n\t\trandomId() {\n\t\t\treturn Math.random().toString(27).substr(2)\n\t\t},\n\n\t\t/**\n\t\t * Link share label\n\t\t * @returns {string}\n\t\t */\n\t\ttitle() {\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Share link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t * @returns {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t\t|| !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tlet dateString = moment(this.config.defaultExpirationDateString)\n\t\t\t\tif (!dateString.isValid()) {\n\t\t\t\t\tdateString = moment()\n\t\t\t\t}\n\t\t\t\tthis.share.state.expiration = enabled\n\t\t\t\t\t? dateString.format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t\tconsole.debug('Expiration date status', enabled, this.share.expireDate)\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t&& moment().add(1 + this.config.defaultExpireDate, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\t// TODO: directly save after generation to make sure the share is always protected\n\t\t\t\tVue.set(this.share, 'password', enabled ? await GeneratePassword() : '')\n\t\t\t\tVue.set(this.share, 'newPassword', this.share.password)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t * @returns {boolean}\n\t\t */\n\t\tpendingPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.share && !this.share.id\n\t\t},\n\t\tpendingExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.share && !this.share.id\n\t\t},\n\n\t\t/**\n\t\t * Can the recipient edit the file ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanUpdate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.permissions = enabled\n\t\t\t\t\t? OC.PERMISSION_READ | OC.PERMISSION_UPDATE\n\t\t\t\t\t: OC.PERMISSION_READ\n\t\t\t},\n\t\t},\n\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current file/folder have create permissions\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tfileHasCreatePermission() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_CREATE)\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t * @returns {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\t/**\n\t\t * External aditionnal actions for the menu\n\t\t * @returns {Array}\n\t\t */\n\t\texternalActions() {\n\t\t\treturn this.ExternalLinkActions.actions\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t */\n\t\tasync onNewLinkShare() {\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: OC.Share.SHARE_TYPE_LINK,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.config.defaultExpirationDateString\n\t\t\t}\n\t\t\tif (this.config.enableLinkPasswordByDefault) {\n\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t}\n\n\t\t\t// do not push yet if we need a password or an expiration date: show pending menu\n\t\t\tif (this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced) {\n\t\t\t\tthis.pending = true\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password enforced, pre-fill with random one\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update=false] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst newShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file drop\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t})\n\n\t\t\t\tthis.open = false\n\n\t\t\t\tconsole.debug('Link share created', newShare)\n\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\n\t\t\t} catch ({ response }) {\n\t\t\t\tconst message = response.data.ocs.meta.message\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * On permissions change\n\t\t * @param {Event} event js event\n\t\t */\n\t\ttogglePermissions(event) {\n\t\t\tconst permissions = parseInt(event.target.value, 10)\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Label changed, let's save it to a different key\n\t\t * @param {String} label the share label\n\t\t */\n\t\tonLabelChange(label) {\n\t\t\tthis.$set(this.share, 'newLabel', label.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t */\n\t\tonLabelSubmit() {\n\t\t\tif (typeof this.share.newLabel === 'string') {\n\t\t\t\tthis.share.label = this.share.newLabel\n\t\t\t\tthis.$delete(this.share, 'newLabel')\n\t\t\t\tthis.queueUpdate('label')\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.shareLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submited.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tthis.$emit('remove:share', this.share)\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\toverflow: hidden;\n\n\t\th5 {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\t\tmargin-left: auto;\n\t\t~ .action-item,\n\t\t~ .sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=121ac5e6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul v-if=\"canLinkShare\" class=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryLink from '../components/SharingEntryLink'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: OC.getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.unshift(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=121ac5e6&scoped=true&\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=121ac5e6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121ac5e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{'sharing-entry--share': _vm.share}},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('h5',{attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('Actions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('ActionLink',{attrs:{\"href\":_vm.shareLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),(!_vm.pending && (_vm.pendingPassword || _vm.pendingExpirationDate))?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onNewLinkShare}},[(_vm.errors.pending)?_c('ActionText',{class:{ error: _vm.errors.pending},attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('ActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('ActionText',{attrs:{\"icon\":\"icon-password\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")]):(_vm.config.enableLinkPasswordByDefault)?_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingPassword || _vm.share.password)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\tshow: _vm.errors.password,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"icon\":\"\",\"type\":\"date\",\"value-type\":\"format\",\"disabled-date\":_vm.disabledDate},model:{value:(_vm.share.expireDate),callback:function ($$v) {_vm.$set(_vm.share, \"expireDate\", $$v)},expression:\"share.expireDate\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-checkmark\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.label,\n\t\t\t\t\t\tshow: _vm.errors.label,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.label,\\n\\t\\t\\t\\t\\t\\tshow: errors.label,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '.app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"label\",class:{ error: _vm.errors.label },attrs:{\"disabled\":_vm.saving,\"aria-label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.newLabel !== undefined ? _vm.share.newLabel : _vm.share.label,\"icon\":\"icon-edit\",\"maxlength\":\"255\"},on:{\"update:value\":_vm.onLabelChange,\"submit\":_vm.onLabelSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share label'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder && _vm.fileHasCreatePermission && _vm.config.isPublicUploadEnabled)?[_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRValue,\"value\":_vm.publicUploadRValue,\"name\":_vm.randomId,\"disabled\":_vm.saving},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRWValue,\"value\":_vm.publicUploadRWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{staticClass:\"sharing-entry__action--public-upload\",attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadWValue,\"value\":_vm.publicUploadWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop (upload only)'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('ActionCheckbox',{attrs:{\"checked\":_vm.canUpdate,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canUpdate=$event},\"change\":function($event){return _vm.queueUpdate('permissions')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.share.hideDownload,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},\"change\":function($event){return _vm.queueUpdate('hideDownload')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Password protect'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\t\t\tshow: _vm.errors.password,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"password\",staticClass:\"share-link-password\",class:{ error: _vm.errors.password},attrs:{\"disabled\":_vm.saving,\"required\":_vm.config.enforcePasswordForPublicLink,\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '***************',\"icon\":\"icon-password\",\"autocomplete\":\"new-password\",\"type\":_vm.hasUnsavedPassword ? 'text': 'password'},on:{\"update:value\":_vm.onPasswordChange,\"submit\":_vm.onPasswordSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isPasswordProtectedByTalkAvailable)?_c('ActionCheckbox',{staticClass:\"share-link-password-talk-checkbox\",attrs:{\"checked\":_vm.isPasswordProtectedByTalk,\"disabled\":!_vm.canTogglePasswordProtectedByTalkAvailable || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtectedByTalk=$event},\"change\":_vm.onPasswordProtectedByTalkChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-expire-date-checkbox\",attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",staticClass:\"share-link-expire-date\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient'),\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalActions),function(ref,index){\n\t\t\t\t\tvar icon = ref.icon;\n\t\t\t\t\tvar url = ref.url;\n\t\t\t\t\tvar name = ref.name;\nreturn _c('ActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":\"icon-add\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create a new share link'))+\"\\n\\t\\t\")]):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=186b01ce&\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare.apply(void 0, arguments)}],\"add:share\":function($event){return _vm.addShare.apply(void 0, arguments)},\"remove:share\":_vm.removeShare}})}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<Avatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:tooltip-message=\"share.type === SHARE_TYPES.SHARE_TYPE_USER ? share.shareWith : ''\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\tv-tooltip.auto=\"tooltip\"\n\t\t\t:href=\"share.shareWithLink\"\n\t\t\tclass=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}<span v-if=\"!isUnique\" class=\"sharing-entry__desc-unique\"> ({{ share.shareWithDisplayNameUnique }})</span></h5>\n\t\t\t<p v-if=\"hasStatus\">\n\t\t\t\t<span>{{ share.status.icon || '' }}</span>\n\t\t\t\t<span>{{ share.status.message || '' }}</span>\n\t\t\t</p>\n\t\t</component>\n\t\t<Actions\n\t\t\tmenu-align=\"right\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share.canEdit\">\n\t\t\t\t<!-- edit permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tref=\"canEdit\"\n\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t:value=\"permissionsEdit\"\n\t\t\t\t\t:disabled=\"saving || !canSetEdit\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- create permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canCreate\"\n\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t:value=\"permissionsCreate\"\n\t\t\t\t\t:disabled=\"saving || !canSetCreate\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow creating') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- delete permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canDelete\"\n\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t:value=\"permissionsDelete\"\n\t\t\t\t\t:disabled=\"saving || !canSetDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow deleting') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- reshare permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"config.isResharingAllowed\"\n\t\t\t\t\tref=\"canReshare\"\n\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t:value=\"permissionsShare\"\n\t\t\t\t\t:disabled=\"saving || !canSetReshare\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow resharing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- expiration date -->\n\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t:disabled=\"config.isDefaultInternalExpireDateEnforced || saving\"\n\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t{{ config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t\t? t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t</ActionCheckbox>\n\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}\"\n\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t</ActionInput>\n\n\t\t\t\t<!-- note -->\n\t\t\t\t<template v-if=\"canHaveNote\">\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\t\t\t</template>\n\n\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\ticon=\"icon-close\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionInput,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\tpermissionsEdit: OC.PERMISSION_UPDATE,\n\t\t\tpermissionsCreate: OC.PERMISSION_CREATE,\n\t\t\tpermissionsDelete: OC.PERMISSION_DELETE,\n\t\t\tpermissionsRead: OC.PERMISSION_READ,\n\t\t\tpermissionsShare: OC.PERMISSION_SHARE,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GUEST) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tcanHaveNote() {\n\t\t\treturn !this.isRemote\n\t\t},\n\n\t\tisRemote() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t|| this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file drop links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced || !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.config.defaultInternalExpirationDateString !== ''\n\t\t\t\t\t\t? this.config.defaultInternalExpirationDateString\n\t\t\t\t\t\t: moment().format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\tif (!this.isRemote) {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultInternalExpireDate, 'days')\n\t\t\t} else {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultRemoteExpireDate, 'days')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @returns {bool}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\n\t},\n\n\tmethods: {\n\t\tupdatePermissions({ isEditChecked = this.canEdit, isCreateChecked = this.canCreate, isDeleteChecked = this.canDelete, isReshareChecked = this.canReshare } = {}) {\n\t\t\t// calc permissions if checked\n\t\t\tconst permissions = 0\n\t\t\t\t| (this.hasRead ? this.permissionsRead : 0)\n\t\t\t\t| (isCreateChecked ? this.permissionsCreate : 0)\n\t\t\t\t| (isDeleteChecked ? this.permissionsDelete : 0)\n\t\t\t\t| (isEditChecked ? this.permissionsEdit : 0)\n\t\t\t\t| (isReshareChecked ? this.permissionsShare : 0)\n\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t&-unique {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=8e155ce6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul class=\"sharing-sharee-list\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharingEntry from '../components/SharingEntry'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=8e155ce6&scoped=true&\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=8e155ce6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8e155ce6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":_vm.share.type === _vm.SHARE_TYPES.SHARE_TYPE_USER ? _vm.share.shareWith : '',\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c(_vm.share.shareWithLink ? 'a' : 'div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.tooltip),expression:\"tooltip\",modifiers:{\"auto\":true}}],tag:\"component\",staticClass:\"sharing-entry__desc\",attrs:{\"href\":_vm.share.shareWithLink}},[_c('h5',[_vm._v(_vm._s(_vm.title)),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e()]),_vm._v(\" \"),(_vm.hasStatus)?_c('p',[_c('span',[_vm._v(_vm._s(_vm.share.status.icon || ''))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.share.status.message || ''))])]):_vm._e()]),_vm._v(\" \"),_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"},on:{\"close\":_vm.onMenuClose}},[(_vm.share.canEdit)?[_c('ActionCheckbox',{ref:\"canEdit\",attrs:{\"checked\":_vm.canEdit,\"value\":_vm.permissionsEdit,\"disabled\":_vm.saving || !_vm.canSetEdit},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canCreate\",attrs:{\"checked\":_vm.canCreate,\"value\":_vm.permissionsCreate,\"disabled\":_vm.saving || !_vm.canSetCreate},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow creating'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canDelete\",attrs:{\"checked\":_vm.canDelete,\"value\":_vm.permissionsDelete,\"disabled\":_vm.saving || !_vm.canSetDelete},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow deleting'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.config.isResharingAllowed)?_c('ActionCheckbox',{ref:\"canReshare\",attrs:{\"checked\":_vm.canReshare,\"value\":_vm.permissionsShare,\"disabled\":_vm.saving || !_vm.canSetReshare},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow resharing'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultInternalExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canHaveNote)?[_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\")]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=0b29d4c0&\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sharing-sharee-list\"},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"remove:share\":_vm.removeShare}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<template v-else>\n\t\t\t<!-- shared with me information -->\n\t\t\t<SharingEntrySimple v-if=\"isSharedWithMe\" v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t<template #avatar>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\t:user=\"sharedWithMe.user\"\n\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t\ttooltip-message=\"\" />\n\t\t\t\t</template>\n\t\t\t</SharingEntrySimple>\n\n\t\t\t<!-- add new share input -->\n\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t@add:share=\"addShare\" />\n\n\t\t\t<!-- link shares list -->\n\t\t\t<SharingLinkList v-if=\"!loading\"\n\t\t\t\tref=\"linkShareList\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:shares=\"linkShares\" />\n\n\t\t\t<!-- other shares list -->\n\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\tref=\"shareList\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t:file-info=\"fileInfo\" />\n\n\t\t\t<!-- inherited shares -->\n\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t<!-- internal link copy -->\n\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\n\t\t\t<!-- projects -->\n\t\t\t<CollectionList v-if=\"fileInfo\"\n\t\t\t\t:id=\"`${fileInfo.id}`\"\n\t\t\t\ttype=\"file\"\n\t\t\t\t:name=\"fileInfo.name\" />\n\n\t\t\t<!-- additionnal entries, use it with cautious -->\n\t\t\t<div v-for=\"(section, index) in sections\"\n\t\t\t\t:ref=\"'section-' + index\"\n\t\t\t\t:key=\"index\"\n\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport axios from '@nextcloud/axios'\n\nimport Config from '../services/ConfigService'\nimport { shareWithTitle } from '../utils/SharedWithMe'\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryInternal from '../components/SharingEntryInternal'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\nimport SharingInput from '../components/SharingInput'\n\nimport SharingInherited from './SharingInherited'\nimport SharingLinkList from './SharingLinkList'\nimport SharingList from './SharingList'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tCollectionList,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn Object.keys(this.sharedWithMe).length > 0\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t * @param {Object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: OC.Util.relativeModifiedDate(expiration * 1000),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\t// create Share objects and sort by newest\n\t\t\t\tconst shares = data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\n\t\t\t\tthis.linkShares = shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t\tthis.shares = shares.filter(share => share.type !== this.SHARE_TYPES.SHARE_TYPE_LINK && share.type !== this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\n\t\t\t\tconsole.debug('Processed', this.linkShares.length, 'link share(s)')\n\t\t\t\tconsole.debug('Processed', this.shares.length, 'share(s)')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => {}) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t// are managed internally in the SharingLinkList component\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t}\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst shareWithTitle = function(share) {\n\tif (share.type === OC.Share.SHARE_TYPE_GROUP) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.SHARE_TYPE_CIRCLE) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t} else if (share.type === OC.Share.SHARE_TYPE_ROOM) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false }\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false }\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=6af617e4&\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):[(_vm.isSharedWithMe)?_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName,\"tooltip-message\":\"\"}})]},proxy:true}],null,false,1643724538)},'SharingEntrySimple',_vm.sharedWithMe,false)):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}}),_vm._v(\" \"),(_vm.fileInfo)?_c('CollectionList',{attrs:{\"id\":(\"\" + (_vm.fileInfo.id)),\"type\":\"file\",\"name\":_vm.fileInfo.name}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ShareSearch {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {Object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {function} result.handler function to run on entry selection\n\t * @param {function} [result.condition] condition to add entry or not\n\t * @returns {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExternalLinkActions {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {Object} action new action component to register\n\t * @returns {boolean}\n\t */\n\tregisterAction(action) {\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class TabSections {\n\n\t_sections;\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport VueClipboard from 'vue-clipboard2'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\nimport SharingTab from './views/SharingTab'\nimport ShareSearch from './services/ShareSearch'\nimport ExternalLinkActions from './services/ExternalLinkActions'\nimport TabSections from './services/TabSections'\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\nVue.use(VueClipboard)\n\n// Init Sharing tab component\nconst View = Vue.extend(SharingTab)\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticon: 'icon-share',\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\t\t\tdestroy() {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t\tTabInstance = null\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nexport default class AbstractParser {\n\n\t/**\n\t * @constructor\n\t *\n\t * @param {Object=} options Object of options\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t */\n\tconstructor(options = {}) {\n\t\tif (new.target === AbstractParser) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractParser')\n\t\t}\n\n\t\t/**\n\t\t * Options for the parser\n\t\t *\n\t\t * @type {{removeRSVPForAttendees: Boolean}}\n\t\t * @private\n\t\t */\n\t\tthis._options = Object.assign({}, options)\n\n\t\t/**\n\t\t * A name extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._name = null\n\n\t\t/**\n\t\t * A color extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._color = null\n\n\t\t/**\n\t\t * Gets the url that this icalendar file can be updated from\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._sourceURL = null\n\n\t\t/**\n\t\t * Gets the update interval if this icalendar file can be updated from a source\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._refreshInterval = null\n\n\t\t/**\n\t\t * Gets the default timezone of this calendar\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarTimezone = null\n\n\t\t/**\n\t\t * Error count during parsing\n\t\t *\n\t\t * @type {Array}\n\t\t * @protected\n\t\t */\n\t\tthis._errors = []\n\t}\n\n\t/**\n\t * Gets the name extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetName() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the color extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetColor() {\n\t\treturn this._color\n\t}\n\n\t/**\n\t * Gets whether this import can be converted into a webcal subscription\n\t *\n\t * @returns {boolean}\n\t */\n\toffersWebcalFeed() {\n\t\treturn this._sourceURL !== null\n\t}\n\n\t/**\n\t * Gets the url pointing to the webcal source\n\t *\n\t * @returns {String|null}\n\t */\n\tgetSourceURL() {\n\t\treturn this._sourceURL\n\t}\n\n\t/**\n\t * Gets the recommended refresh rate to update this subscription\n\t *\n\t * @returns {String|null}\n\t */\n\tgetRefreshInterval() {\n\t\treturn this._refreshInterval\n\t}\n\n\t/**\n\t * Gets the default timezone of this calendar\n\t *\n\t * @returns {String}\n\t */\n\tgetCalendarTimezone() {\n\t\treturn this._calendarTimezone\n\t}\n\n\t/**\n\t * {String|Object} data\n\t *\n\t * @param {any} data The data to parse\n\t * @throws TypeError\n\t */\n\tparse(data) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Returns one CalendarComponent at a time\n\t */\n\t* getItemIterator() { // eslint-disable-line require-yield\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Get an array of all items\n\t *\n\t * @returns {CalendarComponent[]}\n\t */\n\tgetAllItems() {\n\t\treturn Array.from(this.getItemIterator())\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vevents\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVEvents() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vjournals\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVJournals() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vtodos\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVTodos() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vfreebusys\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether\n\t *\n\t * @returns {boolean}\n\t */\n\thasErrors() {\n\t\treturn this._errors.length !== 0\n\t}\n\n\t/**\n\t * Get a list of all errors that occurred\n\t *\n\t * @returns {*[]}\n\t */\n\tgetErrorList() {\n\t\treturn this._errors.slice()\n\t}\n\n\t/**\n\t * Returns the number of calendar-objects in parser\n\t *\n\t * @returns {number}\n\t */\n\tgetItemCount() {\n\t\treturn 0\n\t}\n\n\t/**\n\t * Gets an option provided\n\t *\n\t * @param {String} name The name of the option to get\n\t * @param {*} defaultValue The default value to return if option not provided\n\t * @returns {any}\n\t * @protected\n\t */\n\t_getOption(name, defaultValue) {\n\t\treturn Object.prototype.hasOwnProperty.call(this._options, name)\n\t\t\t? this._options[name]\n\t\t\t: defaultValue\n\t}\n\n\t/**\n\t * Return list of supported mime types\n\t *\n\t * @static\n\t */\n\tstatic getMimeTypes() {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ModificationNotAllowedError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\n\nexport default function lockableTrait(baseClass) {\n\n\t/**\n\t * @class LockableTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * Indicator whether this value was locked for changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Returns whether or not this object is locked\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisLocked() {\n\t\t\treturn !this._mutable\n\t\t}\n\n\t\t/**\n\t\t * Marks this object is immutable\n\t\t * locks it against further modification\n\t\t */\n\t\tlock() {\n\t\t\tthis._mutable = false\n\t\t}\n\n\t\t/**\n\t\t * Marks this object as mutable\n\t\t * allowing further modification\n\t\t */\n\t\tunlock() {\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Check if modifications are allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modify() {\n\t\t\tif (!this._mutable) {\n\t\t\t\tthrow new ModificationNotAllowedError()\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Check if modification of content is allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modifyContent() {\n\t\t\tthis._modify()\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExpectedICalJSError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nexport function lc(str) {\n\treturn str.toLowerCase()\n}\n\n/**\n * Compares two strings, It is case-insensitive.\n *\n * @param {String} str1 String 1 to compare\n * @param {String} str2 String 2 to compare\n * @returns {Boolean}\n */\nexport function strcasecmp(str1, str2) {\n\treturn uc(str1) === uc(str2)\n}\n\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\nexport function uc(str) {\n\treturn str.toUpperCase()\n}\n\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\nexport function ucFirst(str) {\n\treturn str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\nexport function startStringWith(str, startWith) {\n\tif (!str.startsWith(startWith)) {\n\t\tstr = startWith + str\n\t}\n\n\treturn str\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @type {Map<String, *>}\n */\nconst GLOBAL_CONFIG = new Map()\n\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\nexport function setConfig(key, value) {\n\tGLOBAL_CONFIG.set(key, value)\n}\n\n/**\n * Checks if a config for a certain key is present\n *\n * @param {String} key The config-key to check\n * @returns {boolean}\n */\nexport function hasConfig(key) {\n\treturn GLOBAL_CONFIG.has(key)\n}\n\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\nexport function getConfig(key, defaultValue) {\n\treturn GLOBAL_CONFIG.get(key) || defaultValue\n}\n\n/**\n * deletes a config key\n *\n * @param {String} key The config-key to delete\n */\nexport function deleteConfig(key) {\n\tGLOBAL_CONFIG.delete(key)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { lc } from '../helpers/stringHelper.js'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\nexport function createComponent(componentName) {\n\treturn new ICAL.Component(lc(componentName))\n}\n\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\nexport function createProperty(propertyName) {\n\treturn new ICAL.Property(lc(propertyName))\n}\n\n/**\n * creates a new calendar component\n *\n * @param {String=} method Name of the method to include in VCALENDAR component\n * @returns {ICAL.Component}\n */\nexport function createCalendarComponent(method = null) {\n\tconst calendarComp = createComponent('VCALENDAR')\n\n\tcalendarComp.addPropertyWithValue('prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN'))\n\tcalendarComp.addPropertyWithValue('calscale', 'GREGORIAN')\n\tcalendarComp.addPropertyWithValue('version', '2.0')\n\n\tif (method) {\n\t\tcalendarComp.addPropertyWithValue('method', method)\n\t}\n\n\treturn calendarComp\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default function observerTrait(baseClass) {\n\n\t/**\n\t * @class ObserverTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * List of subscribers\n\t\t\t *\n\t\t\t * @type {Function[]}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._subscribers = []\n\t\t}\n\n\t\t/**\n\t\t * Adds a new subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be called when modification happens\n\t\t */\n\t\tsubscribe(handler) {\n\t\t\tthis._subscribers.push(handler)\n\t\t}\n\n\t\t/**\n\t\t * Removes a subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be no longer called when modification happens\n\t\t */\n\t\tunsubscribe(handler) {\n\t\t\tconst index = this._subscribers.indexOf(handler)\n\t\t\tif (index === -1) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis._subscribers.splice(index, 1)\n\t\t}\n\n\t\t/**\n\t\t * Notify all subscribed handlers\n\t\t *\n\t\t * @protected\n\t\t */\n\t\t_notifySubscribers(...args) {\n\t\t\tfor (const handler of this._subscribers) {\n\t\t\t\thandler(...args)\n\t\t\t}\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { uc } from '../helpers/stringHelper.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\nexport default class Parameter extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {string} name The name of the parameter\n\t * @param {string|Array|null} value The value of the parameter\n\t */\n\tconstructor(name, value = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the parameter\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the parameter\n\t\t *\n\t\t * @type {string|Array|null}\n\t\t * @private\n\t\t */\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Get parameter name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Array}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @throws {ModificationNotAllowedError} if parameter is locked for modification\n\t * @param {String|Array} value The new value to set\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Gets the first value of this parameter\n\t *\n\t * @returns {String|null}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator for all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Parameter}\n\t */\n\tclone() {\n\t\tconst parameter = new this.constructor(this._name)\n\t\tif (this.isMultiValue()) {\n\t\t\t// only copy array values, don't copy array reference\n\t\t\tparameter.value = this._value.slice()\n\t\t} else {\n\t\t\tparameter.value = this._value\n\t\t}\n\n\t\t// cloned parameters are always mutable\n\t\treturn parameter\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\nexport default class AbstractValue extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n\t */\n\tconstructor(icalValue) {\n\t\tif (new.target === AbstractValue) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractValue')\n\t\t}\n\t\tsuper()\n\n\t\t/**\n\t\t * Wrapped ICAL.js value\n\t\t *\n\t\t * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n\t\t */\n\t\tthis._innerValue = icalValue\n\t}\n\n\t/**\n\t * Gets wrapped ICAL.JS object\n\t *\n\t * @returns {*}\n\t */\n\ttoICALJs() {\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\nexport default class BinaryValue extends AbstractValue {\n\n\t/**\n\t * Sets the raw b64 encoded value\n\t *\n\t * @returns {String}\n\t */\n\tget rawValue() {\n\t\treturn this._innerValue.value\n\t}\n\n\t/**\n\t * Gets the raw b64 encoded value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} value - The new raw value\n\t */\n\tset rawValue(value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.value = value\n\t}\n\n\t/**\n\t * Gets the decoded value\n\t *\n\t * @returns {String}\n\t */\n\tget value() {\n\t\treturn this._innerValue.decodeValue()\n\t}\n\n\t/**\n\t * Sets the decoded Value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} decodedValue - The new encoded value\n\t */\n\tset value(decodedValue) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.setEncodedValue(decodedValue)\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {BinaryValue}\n\t */\n\tclone() {\n\t\treturn BinaryValue.fromRawValue(this._innerValue.value)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from an ICAL.Binary object\n\t *\n\t * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new BinaryValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from a raw b64 encoded value\n\t *\n\t * @param {String} rawValue - The raw value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromRawValue(rawValue) {\n\t\tconst icalBinary = new ICAL.Binary(rawValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from decoded value\n\t *\n\t * @param {String} decodedValue - The encoded value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromDecodedValue(decodedValue) {\n\t\tconst icalBinary = new ICAL.Binary()\n\t\ticalBinary.setEncodedValue(decodedValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\nexport default class DurationValue extends AbstractValue {\n\n\t/**\n\t * Gets the weeks of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget weeks() {\n\t\treturn this._innerValue.weeks\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} weeks Amount of weeks\n\t */\n\tset weeks(weeks) {\n\t\tthis._modifyContent()\n\t\tif (weeks < 0) {\n\t\t\tthrow new TypeError('Weeks cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.weeks = weeks\n\t}\n\n\t/**\n\t * Gets the days of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget days() {\n\t\treturn this._innerValue.days\n\t}\n\n\t/**\n\t * Sets the days of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} days Amount of days\n\t */\n\tset days(days) {\n\t\tthis._modifyContent()\n\t\tif (days < 0) {\n\t\t\tthrow new TypeError('Days cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.days = days\n\t}\n\n\t/**\n\t * Gets the hours of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} hours Amount of hours\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tif (hours < 0) {\n\t\t\tthrow new TypeError('Hours cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minutes of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minutes of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} minutes Amount of minutes\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tif (minutes < 0) {\n\t\t\tthrow new TypeError('Minutes cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the seconds of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget seconds() {\n\t\treturn this._innerValue.seconds\n\t}\n\n\t/**\n\t * Sets the seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} seconds Amount of seconds\n\t */\n\tset seconds(seconds) {\n\t\tthis._modifyContent()\n\t\tif (seconds < 0) {\n\t\t\tthrow new TypeError('Seconds cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.seconds = seconds\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @returns {Boolean}\n\t */\n\tget isNegative() {\n\t\treturn this._innerValue.isNegative\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Boolean} isNegative Whether or not the duration is negative\n\t */\n\tset isNegative(isNegative) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isNegative = !!isNegative\n\t}\n\n\t/**\n\t * Gets the amount of total seconds of the stored duration-value\n\t *\n\t * @returns {*|Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the amount of total seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds The total amounts of seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this duration to another one\n\t *\n\t * @param {DurationValue} otherDuration The duration to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(otherDuration) {\n\t\treturn this._innerValue.compare(otherDuration.toICALJs())\n\t}\n\n\t/**\n\t * Adds the value of another duration to this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to add\n\t */\n\taddDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds += otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * Subtract the value of another duration from this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to subtract\n\t */\n\tsubtractDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds -= otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DurationValue}\n\t */\n\tclone() {\n\t\treturn DurationValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DurationValue object from an ICAL.Duration object\n\t *\n\t * @param {ICAL.Duration} icalValue The ical.js duration value\n\t * @returns {DurationValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DurationValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new DurationValue object from a number of seconds\n\t *\n\t * @param {Number} seconds Total amount of seconds\n\t * @returns {DurationValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalDuration = ICAL.Duration.fromSeconds(seconds)\n\t\treturn new DurationValue(icalDuration)\n\n\t}\n\n\t/**\n\t * Create a new DurationValue object from data\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.weeks Number of weeks to set\n\t * @param {Number=} data.days Number of days to set\n\t * @param {Number=} data.hours Number of hours to set\n\t * @param {Number=} data.minutes Number of minutes to set\n\t * @param {Number=} data.seconds Number of seconds to set\n\t * @param {Boolean=} data.isNegative Whether or not duration is negative\n\t * @returns {DurationValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalDuration = ICAL.Duration.fromData(data)\n\t\treturn new DurationValue(icalDuration)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\nexport default class DateTimeValue extends AbstractValue {\n\n\t/**\n\t * Gets the year of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget year() {\n\t\treturn this._innerValue.year\n\t}\n\n\t/**\n\t * Sets the year of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} year Number of years to set\n\t */\n\tset year(year) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.year = year\n\t}\n\n\t/**\n\t * Gets the month of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget month() {\n\t\treturn this._innerValue.month\n\t}\n\n\t/**\n\t * Sets the month of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} month Number of months to set\n\t */\n\tset month(month) {\n\t\tthis._modifyContent()\n\t\tif (month < 1 || month > 12) {\n\t\t\tthrow new TypeError('Month out of range')\n\t\t}\n\n\t\tthis._innerValue.month = month\n\t}\n\n\t/**\n\t * Gets the day of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget day() {\n\t\treturn this._innerValue.day\n\t}\n\n\t/**\n\t * Sets the day of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} day Number of days to set\n\t */\n\tset day(day) {\n\t\tthis._modifyContent()\n\t\tif (day < 1 || day > 31) {\n\t\t\tthrow new TypeError('Day out of range')\n\t\t}\n\n\t\tthis._innerValue.day = day\n\t}\n\n\t/**\n\t * Gets the hour of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hour() {\n\t\treturn this._innerValue.hour\n\t}\n\n\t/**\n\t * Sets the hour of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} hour Number of hours to set\n\t */\n\tset hour(hour) {\n\t\tthis._modifyContent()\n\t\tif (hour < 0 || hour > 23) {\n\t\t\tthrow new TypeError('Hour out of range')\n\t\t}\n\n\t\tthis._innerValue.hour = hour\n\t}\n\n\t/**\n\t * Gets the minute of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minute() {\n\t\treturn this._innerValue.minute\n\t}\n\n\t/**\n\t * Sets the minute of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} minute Number of minutes to set\n\t */\n\tset minute(minute) {\n\t\tthis._modifyContent()\n\t\tif (minute < 0 || minute > 59) {\n\t\t\tthrow new TypeError('Minute out of range')\n\t\t}\n\n\t\tthis._innerValue.minute = minute\n\t}\n\n\t/**\n\t * Gets the second of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget second() {\n\t\treturn this._innerValue.second\n\t}\n\n\t/**\n\t * Sets the second of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} second Number of seconds to set\n\t */\n\tset second(second) {\n\t\tthis._modifyContent()\n\t\tif (second < 0 || second > 59) {\n\t\t\tthrow new TypeError('Second out of range')\n\t\t}\n\n\t\tthis._innerValue.second = second\n\t}\n\n\t/**\n\t * Gets the timezone of this date-time-value\n\t *\n\t * @returns {String|null}\n\t */\n\tget timezoneId() {\n\t\t// If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n\t\t// timezone that we also have a timezone id for\n\t\tif (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n\t\t\treturn this._innerValue.zone.tzid\n\t\t}\n\n\t\t// If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n\t\t// this means that the tzid does not have a definition stored along it.\n\t\t// we will keep this information anyway to not lose it\n\t\tif (this._innerValue.timezone) {\n\t\t\treturn this._innerValue.timezone\n\t\t}\n\n\t\t// this is the case when it's floating / UTC\n\t\treturn this._innerValue.zone.tzid || null\n\t}\n\n\t/**\n\t * Gets whether this date-time-value is a date or date-time\n\t *\n\t * @returns {boolean}\n\t */\n\tget isDate() {\n\t\treturn this._innerValue.isDate\n\t}\n\n\t/**\n\t * Sets whether this date-time-value is a date or date-time\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {boolean} isDate Whether this is a date or date-time value\n\t */\n\tset isDate(isDate) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isDate = !!isDate\n\n\t\tif (isDate) {\n\t\t\tthis._innerValue.hour = 0\n\t\t\tthis._innerValue.minute = 0\n\t\t\tthis._innerValue.second = 0\n\t\t}\n\t}\n\n\t/**\n\t * Gets the unix-time\n\t *\n\t * @returns {Number}\n\t */\n\tget unixTime() {\n\t\treturn this._innerValue.toUnixTime()\n\t}\n\n\t/**\n\t * returns vanilla javascript date object\n\t *\n\t * @returns {Date}\n\t */\n\tget jsDate() {\n\t\treturn this._innerValue.toJSDate()\n\t}\n\n\t/**\n\t * Adds a duration to this date-time-value\n\t *\n\t * @param {DurationValue} duration The duration to ad\n\t */\n\taddDuration(duration) {\n\t\tthis._innerValue.addDuration(duration.toICALJs())\n\t}\n\n\t/**\n\t * Subtract another date excluding timezones\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithoutTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDate(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Subtract another date, taking timezones into account\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDateTz(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Compares this DateTimeValue object with another one\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Compares only the date part in a given timezone\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @param {Timezone} timezone The timezone to compare in\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompareDateOnlyInGivenTimezone(other, timezone) {\n\t\treturn this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t */\n\tgetInTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone())\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Get the inner ICAL.Timezone\n\t *\n\t * @returns {ICAL.Timezone}\n\t * @package\n\t */\n\tgetICALTimezone() {\n\t\treturn this._innerValue.zone\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {ICAL.Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t * @package\n\t */\n\tgetInICALTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to UTC\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetInUTC() {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * This silently replaces the inner timezone without converting the actual time\n\t *\n\t * @param {ICAL.Timezone} timezone The timezone to replace with\n\t * @package\n\t */\n\tsilentlyReplaceTimezone(timezone) {\n\t\tthis._modify()\n\t\tthis._innerValue = new ICAL.Time({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t\ttimezone,\n\t\t})\n\t}\n\n\t/**\n\t * Replaces the inner timezone without converting the actual time\n\t *\n\t * @param {Timezone} timezone The timezone to replace with\n\t */\n\treplaceTimezone(timezone) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue = ICAL.Time.fromData({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t}, timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Calculates the UTC offset of the date-time-value in its timezone\n\t *\n\t * @returns {Number}\n\t */\n\tutcOffset() {\n\t\treturn this._innerValue.utcOffset()\n\t}\n\n\t/**\n\t * Check if this is an event with floating time\n\t *\n\t * @returns {boolean}\n\t */\n\tisFloatingTime() {\n\t\treturn this._innerValue.zone.tzid === 'floating'\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tclone() {\n\t\treturn DateTimeValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DateTimeValue object from an ICAL.Time object\n\t *\n\t * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DateTimeValue(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on a vanilla javascript object\n\t *\n\t * @param {Date} jsDate The JavaScript date to initialise from\n\t * @param {Boolean=} useUTC Whether or not to treat it as UTC\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromJSDate(jsDate, useUTC = false) {\n\t\tconst icalValue = ICAL.Time.fromJSDate(jsDate, useUTC)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on simple parameters\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.year Amount of years to set\n\t * @param {Number=} data.month Amount of month to set (1-based)\n\t * @param {Number=} data.day Amount of days to set\n\t * @param {Number=} data.hour Amount of hours to set\n\t * @param {Number=} data.minute Amount of minutes to set\n\t * @param {Number=} data.second Amount of seconds to set\n\t * @param {Boolean=} data.isDate Whether this is a date or date-time\n\t * @param {Timezone=} timezone The timezone of the DateTimeValue\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromData(data, timezone) {\n\t\tconst icalValue = ICAL.Time.fromData(data, timezone\n\t\t\t? timezone.toICALTimezone()\n\t\t\t: undefined)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n}\n\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY\nDateTimeValue.MONDAY = ICAL.Time.MONDAY\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY\n\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\nexport default class PeriodValue extends AbstractValue {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * DateTimeValue object for start\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._start = DateTimeValue.fromICALJs(this._innerValue.start)\n\n\t\t/**\n\t\t * DateTimeValue object for end\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._end = null\n\n\t\t/**\n\t\t * DurationValue object for duration\n\t\t *\n\t\t * @type {DurationValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._duration = null\n\t}\n\n\t/**\n\t * Gets the start of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget start() {\n\t\treturn this._start\n\t}\n\n\t/**\n\t * Sets the start of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} start The start of the period\n\t */\n\tset start(start) {\n\t\tthis._modifyContent()\n\t\tthis._start = start\n\t\tthis._innerValue.start = start.toICALJs()\n\t}\n\n\t/**\n\t * Gets the end of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget end() {\n\t\tif (!this._end) {\n\t\t\tif (this._duration) {\n\t\t\t\tthis._duration.lock()\n\t\t\t\tthis._duration = null\n\t\t\t}\n\n\t\t\tthis._innerValue.end = this._innerValue.getEnd()\n\t\t\tthis._end = DateTimeValue.fromICALJs(this._innerValue.end)\n\t\t\tthis._innerValue.duration = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._end.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._end\n\t}\n\n\t/**\n\t * Sets the end of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} end The end of the period\n\t */\n\tset end(end) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.duration = null\n\t\tthis._innerValue.end = end.toICALJs()\n\t\tthis._end = end\n\t}\n\n\t/**\n\t * Gets the duration of the period-value\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new duration\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (!this._duration) {\n\t\t\tif (this._end) {\n\t\t\t\tthis._end.lock()\n\t\t\t\tthis._end = null\n\t\t\t}\n\n\t\t\tthis._innerValue.duration = this._innerValue.getDuration()\n\t\t\tthis._duration = DurationValue.fromICALJs(this._innerValue.duration)\n\t\t\tthis._innerValue.end = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._duration.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._duration\n\t}\n\n\t/**\n\t * Sets the duration of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} duration The duration to set\n\t */\n\tset duration(duration) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.end = null\n\t\tthis._innerValue.duration = duration.toICALJs()\n\t\tthis._duration = duration\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\t\tthis.start.lock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.lock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\t\tthis.start.unlock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.unlock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {PeriodValue}\n\t */\n\tclone() {\n\t\treturn PeriodValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from a ICAL.Period object\n\t *\n\t * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new PeriodValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and end\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DateTimeValue} data.end The end of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithEnd(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tend: data.end.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and duration\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DurationValue} data.duration The duration of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithDuration(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tduration: data.duration.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport ICAL from 'ical.js'\n\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY']\n\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\nexport default class RecurValue extends AbstractValue {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Recur} icalValue The ical.js rrule value\n\t * @param {DateTimeValue?} until The Until date\n\t */\n\tconstructor(icalValue, until) {\n\t\tsuper(icalValue)\n\n\t\t/**\n\t\t * DateTimeValue object for Until\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._until = until\n\t}\n\n\t/**\n\t * Gets the stored interval of this recurrence rule\n\t *\n\t * @returns {Number}\n\t */\n\tget interval() {\n\t\treturn this._innerValue.interval\n\t}\n\n\t/**\n\t * Sets the stored interval of this recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} interval New Interval to set\n\t */\n\tset interval(interval) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.interval = parseInt(interval, 10)\n\t}\n\n\t/**\n\t * Gets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @returns {Number}\n\t */\n\tget weekStart() {\n\t\treturn this._innerValue.wkst\n\t}\n\n\t/**\n\t * Sets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if weekstart out of range\n\t * @param {Number} weekStart New start of week to set\n\t */\n\tset weekStart(weekStart) {\n\t\tthis._modifyContent()\n\t\tif (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n\t\t\tthrow new TypeError('Weekstart out of range')\n\t\t}\n\n\t\tthis._innerValue.wkst = weekStart\n\t}\n\n\t/**\n\t * Gets the until value if set\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new until\n\t *\n\t * @returns {null|DateTimeValue}\n\t */\n\tget until() {\n\t\tif (!this._until && this._innerValue.until) {\n\t\t\tthis._until = DateTimeValue.fromICALJs(this._innerValue.until)\n\t\t}\n\n\t\treturn this._until\n\t}\n\n\t/**\n\t * Sets the until value, automatically removes count\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} until New until date to set\n\t */\n\tset until(until) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\n\t\tthis._until = until\n\t\tthis._innerValue.count = null\n\t\tthis._innerValue.until = until.toICALJs()\n\t}\n\n\t/**\n\t * Gets the count value if set\n\t *\n\t * @returns {null|Number}\n\t */\n\tget count() {\n\t\treturn this._innerValue.count\n\t}\n\n\t/**\n\t * Sets the count value, automatically removes until\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} count New occurrence limit to set\n\t */\n\tset count(count) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = parseInt(count, 10)\n\t}\n\n\t/**\n\t * Gets the frequency of the recurrence rule\n\t *\n\t * @returns {String} see\n\t */\n\tget frequency() {\n\t\treturn this._innerValue.freq\n\t}\n\n\t/**\n\t * Sets the frequency of the recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if frequency is unknown\n\t * @param {String} freq New frequency to set\n\t */\n\tset frequency(freq) {\n\t\tthis._modifyContent()\n\t\tif (!ALLOWED_FREQ.includes(freq)) {\n\t\t\tthrow new TypeError('Unknown frequency')\n\t\t}\n\n\t\tthis._innerValue.freq = freq\n\t}\n\n\t/**\n\t * Modifies this recurrence-value to unset count and until\n\t */\n\tsetToInfinite() {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = null\n\t}\n\n\t/**\n\t * Checks whether the stored rule is finite\n\t *\n\t * @returns {Boolean}\n\t */\n\tisFinite() {\n\t\treturn this._innerValue.isFinite()\n\t}\n\n\t/**\n\t * Checks whether the recurrence rule is limited by count\n\t *\n\t * @returns {Boolean}\n\t */\n\tisByCount() {\n\t\treturn this._innerValue.isByCount()\n\t}\n\n\t/**\n\t * Adds a part to a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the recurrence-component to add\n\t * @param {String|Number} value The value to add\n\t */\n\taddComponent(componentName, value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.addComponent(componentName, value)\n\t}\n\n\t/**\n\t * Sets / overwrites a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to set\n\t * @param {Number[]|String[]} value The value to set\n\t */\n\tsetComponent(componentName, value) {\n\t\tthis._modifyContent()\n\n\t\tif (value.length === 0) {\n\t\t\tdelete this._innerValue.parts[componentName.toUpperCase()]\n\t\t} else {\n\t\t\tthis._innerValue.setComponent(componentName, value)\n\t\t}\n\t}\n\n\t/**\n\t * Removes all parts of a component\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to remove\n\t */\n\tremoveComponent(componentName) {\n\t\tdelete this._innerValue.parts[uc(componentName)]\n\t}\n\n\t/**\n\t * Gets all parts of a component\n\t *\n\t * @param {String} componentName The name of the component to get\n\t * @returns {Array}\n\t */\n\tgetComponent(componentName) {\n\t\treturn this._innerValue.getComponent(componentName)\n\t}\n\n\t/**\n\t * Checks if this recurrence rule is valid according to RFC 5545\n\t *\n\t * @returns {boolean}\n\t */\n\tisRuleValid() {\n\t\treturn true\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {RecurValue}\n\t */\n\tclone() {\n\t\treturn RecurValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a ICAL.Recur object\n\t *\n\t * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n\t * @param {DateTimeValue?} until The Until date\n\t * @returns {RecurValue}\n\t */\n\tstatic fromICALJs(icalValue, until = null) {\n\t\treturn new RecurValue(icalValue, until)\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a data object\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {String=} data.freq FREQ part of RRULE\n\t * @param {Number=} data.interval INTERVAL part of RRULE\n\t * @param {Number=} data.wkst WEEKSTART part of RRULE\n\t * @param {DateTimeValue=} data.until UNTIL part of RRULE\n\t * @param {Number=} data.count COUNT part of RRULE\n\t * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n\t * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n\t * @param {Number[]=} data.byhour BYHOUR part of RRULE\n\t * @param {String[]=} data.byday BYDAY part of RRULE\n\t * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n\t * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n\t * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n\t * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n\t * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n\t * @returns {RecurValue}\n\t */\n\tstatic fromData(data) {\n\t\tlet until = null\n\n\t\tif (data.until) {\n\t\t\tuntil = data.until\n\t\t\tdata.until = data.until.toICALJs()\n\t\t}\n\n\t\tconst icalRecur = ICAL.Recur.fromData(data)\n\t\treturn RecurValue.fromICALJs(icalRecur, until)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\nexport default class UTCOffsetValue extends AbstractValue {\n\n\t/**\n\t * Gets the hour part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the hour part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minute part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minute part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} minutes - New minutes to set\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the factor\n\t *\n\t * @returns {Number}\n\t */\n\tget factor() {\n\t\treturn this._innerValue.factor\n\t}\n\n\t/**\n\t * Sets the factor\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if factor is neither 1 nor -1\n\t * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n\t */\n\tset factor(factor) {\n\t\tthis._modifyContent()\n\t\tif (factor !== 1 && factor !== -1) {\n\t\t\tthrow new TypeError('Factor may only be set to 1 or -1')\n\t\t}\n\n\t\tthis._innerValue.factor = factor\n\t}\n\n\t/**\n\t * Gets the total amount of seconds\n\t *\n\t * @returns {Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the total amount of seconds\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds - New number of total seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this UTCOffset to another one\n\t *\n\t * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Clones this value\n\t *\n\t * @returns {UTCOffsetValue}\n\t */\n\tclone() {\n\t\treturn UTCOffsetValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n\t *\n\t * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new UTCOffsetValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a data object\n\t *\n\t * @param {Object} data - Object with data to create UTCOffsetValue object from\n\t * @param {Number=} data.hours - The number of hours to set\n\t * @param {Number=} data.minutes - The number of minutes to set\n\t * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalUTCOffset = new ICAL.UtcOffset()\n\t\ticalUTCOffset.fromData(data)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from an amount of seconds\n\t *w\n\t * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class UnknownICALTypeError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport Parameter from '../parameters/parameter.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc, uc } from '../helpers/stringHelper.js'\nimport { getConstructorForICALType } from '../values'\nimport AbstractValue from '../values/abstractValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\nexport default class Property extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name The name of the property\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @param {Parameter[]|[String][]} parameters Array of parameters\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @param {AbstractComponent|null} parent The parent-element of this property\n\t */\n\tconstructor(name, value = null, parameters = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the property\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the property\n\t\t *\n\t\t * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t\t * @protected\n\t\t */\n\t\tthis._value = value\n\n\t\t/**\n\t\t * List of parameters associated with this parameter\n\t\t *\n\t\t * @type {Map<String, Parameter>}\n\t\t */\n\t\tthis._parameters = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setParametersFromConstructor(parameters)\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Get property name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Gets the root of this property\n\t *\n\t * @returns {CalendarComponent|null}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this property\n\t *\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\t}\n\n\t/**\n\t * Gets the direct parent element of this property\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the direct parent element of this property\n\t *\n\t * @param {AbstractComponent|null} parent The parent element of this property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first value of this property\n\t *\n\t * @returns {null|String|Number|AbstractValue}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator over all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Adds a value to the multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to add\n\t */\n\taddValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tthis.value.push(value)\n\t}\n\n\t/**\n\t * Checks if a value is inside this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to check for\n\t * @returns {Boolean}\n\t */\n\thasValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\treturn this.value.includes(value)\n\t}\n\n\t/**\n\t * Removes a value from this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to remove\n\t */\n\tremoveValue(value) {\n\t\tif (!this.hasValue(value)) {\n\t\t\treturn\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tconst index = this.value.indexOf(value)\n\t\tthis.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Sets a parameter on this property\n\t *\n\t * @param {Parameter} parameter The parameter to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tsetParameter(parameter) {\n\t\tthis._modify()\n\t\tthis._parameters.set(parameter.name, parameter)\n\t\tparameter.subscribe(() => this._notifySubscribers())\n\t}\n\n\t/**\n\t * Gets a parameter on this property by its name\n\t *\n\t * @param {String} parameterName Name of the parameter to get\n\t * @returns {Parameter}\n\t */\n\tgetParameter(parameterName) {\n\t\treturn this._parameters.get(uc(parameterName))\n\t}\n\n\t/**\n\t * Gets an iterator over all available parameters\n\t */\n\t* getParametersIterator() {\n\t\tyield * this._parameters.values()\n\t}\n\n\t/**\n\t * Get first value of a parameter\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {null|String}\n\t */\n\tgetParameterFirstValue(parameterName) {\n\t\tconst parameter = this.getParameter(parameterName)\n\t\tif (parameter instanceof Parameter) {\n\t\t\tif (parameter.isMultiValue()) {\n\t\t\t\treturn parameter.value[0]\n\t\t\t} else {\n\t\t\t\treturn parameter.value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Returns whether a parameter exists on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {boolean}\n\t */\n\thasParameter(parameterName) {\n\t\treturn this._parameters.has(uc(parameterName))\n\t}\n\n\t/**\n\t * Deletes a parameter on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tdeleteParameter(parameterName) {\n\t\tthis._modify()\n\t\tthis._parameters.delete(uc(parameterName))\n\t}\n\n\t/**\n\t * update a parameter if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @param {string|Array|null} value Value to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tupdateParameterIfExist(parameterName, value) {\n\t\tthis._modify()\n\t\tif (this.hasParameter(parameterName)) {\n\t\t\tconst parameter = this.getParameter(parameterName)\n\t\t\tparameter.value = value\n\t\t} else {\n\t\t\tconst parameter = new Parameter(uc(parameterName), value)\n\t\t\tthis.setParameter(parameter)\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Returns whether or not this valus is decorated\n\t *\n\t * @returns {boolean}\n\t */\n\tisDecoratedValue() {\n\t\tif (this.isMultiValue()) {\n\t\t\treturn this._value[0] instanceof AbstractValue\n\t\t} else {\n\t\t\treturn this._value instanceof AbstractValue\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.lock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.lock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.unlock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.unlock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Property}\n\t */\n\tclone() {\n\t\tconst parameters = []\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameters.push(parameter.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent)\n\t}\n\n\t/**\n\t * Copies the values of this property\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t * @protected\n\t */\n\t_cloneValue() {\n\t\tif (this.isDecoratedValue()) {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\treturn this._value.map((val) => val.clone())\n\t\t\t} else {\n\t\t\t\treturn this._value.clone()\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\t// only copy array values, don't copy array reference\n\t\t\t\treturn this._value.slice()\n\t\t\t} else {\n\t\t\t\treturn this._value\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets parameters from the constructor\n\t *\n\t * @param {Parameter[]|[String][]} parameters Array of parameters to set\n\t * @private\n\t */\n\t_setParametersFromConstructor(parameters) {\n\t\tparameters.forEach((parameter) => {\n\t\t\tif (!(parameter instanceof Parameter)) {\n\t\t\t\tparameter = new Parameter(parameter[0], parameter[1])\n\t\t\t}\n\n\t\t\tthis.setParameter(parameter)\n\t\t})\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n\t * @param {CalendarComponent=} root The root of the calendar-document\n\t * @param {AbstractComponent=} parent The parent element of this property\n\t * @returns {Property}\n\t */\n\tstatic fromICALJs(icalProperty, root = null, parent = null) {\n\t\tif (!(icalProperty instanceof ICAL.Property)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tlet value\n\t\tif (icalProperty.isDecorated) {\n\t\t\tconst constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype)\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues().map((val) => constructor.fromICALJs(val))\n\t\t\t} else {\n\t\t\t\tvalue = constructor.fromICALJs(icalProperty.getFirstValue())\n\t\t\t}\n\t\t} else {\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues()\n\t\t\t} else {\n\t\t\t\tvalue = icalProperty.getFirstValue()\n\t\t\t}\n\t\t}\n\n\t\tconst parameters = []\n\t\tconst paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]))\n\t\tparamNames.forEach((paramName) => {\n\t\t\t// Timezone id is handled by DateTimeValue\n\t\t\tif (uc(paramName) === 'TZID') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tparameters.push([paramName, icalProperty.getParameter(paramName)])\n\t\t})\n\n\t\treturn new this(icalProperty.name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Returns an ICAL.js property based on this Property\n\t *\n\t * @returns {ICAL.Property}\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\n\t\tif (this.isMultiValue()) {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValues(this.value.map((val) => val.toICALJs()))\n\t\t\t} else {\n\t\t\t\ticalProperty.setValues(this.value)\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValue(this.value.toICALJs())\n\t\t\t} else {\n\t\t\t\ticalProperty.setValue(this.value)\n\n\t\t\t}\n\t\t}\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t}\n\n\t\tconst firstValue = this.getFirstValue()\n\t\tif (firstValue instanceof DateTimeValue\n\t\t\t&& firstValue.timezoneId !== 'floating'\n\t\t\t&& firstValue.timezoneId !== 'UTC'\n\t\t\t&& !firstValue.isDate) {\n\t\t\ticalProperty.setParameter('tzid', firstValue.timezoneId)\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport BinaryValue from './binaryValue.js'\nimport DurationValue from './durationValue.js'\nimport PeriodValue from './periodValue.js'\nimport RecurValue from './recurValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport UTCOffsetValue from './utcOffsetValue.js'\nimport UnknownICALTypeError from '../errors/unknownICALTypeError.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\nexport function getConstructorForICALType(icaltype) {\n\tswitch (lc(icaltype)) {\n\tcase 'binary':\n\t\treturn BinaryValue\n\n\tcase 'date':\n\tcase 'date-time':\n\t\treturn DateTimeValue\n\n\tcase 'duration':\n\t\treturn DurationValue\n\n\tcase 'period':\n\t\treturn PeriodValue\n\n\tcase 'recur':\n\t\treturn RecurValue\n\n\tcase 'utc-offset':\n\t\treturn UTCOffsetValue\n\n\tdefault:\n\t\tthrow new UnknownICALTypeError()\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\nexport default class AttachmentProperty extends Property {\n\n\t/**\n\t * Gets the format-type of this attachment\n\t *\n\t * @returns {String}\n\t */\n\tget formatType() {\n\t\treturn this.getParameterFirstValue('FMTTYPE')\n\t}\n\n\t/**\n\t * Sets the format-type of this attachment\n\t *\n\t * @param {String} fmtType Mime-type of attachment\n\t */\n\tset formatType(fmtType) {\n\t\tthis.updateParameterIfExist('FMTTYPE', fmtType)\n\t}\n\n\t/**\n\t * Gets the uri of this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget uri() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Sets the uri of this attachment\n\t *\n\t * @param {String} uri Link to attachment if applicable\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * Gets the encoding of this attachment\n\t *\n\t * @returns {string|null}\n\t */\n\tget encoding() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn 'BASE64'\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the data stored in this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget data() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn this._value.value\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Sets the data stored in this attachment\n\t *\n\t * @param {String} data The data of the attachment\n\t */\n\tset data(data) {\n\t\tif (this.value instanceof BinaryValue) {\n\t\t\tthis.value.value = data\n\t\t} else {\n\t\t\tthis.value = BinaryValue.fromDecodedValue(data)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\ticalProperty.setParameter('ENCODING', 'BASE64')\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String=} formatType The mime-type of the data\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromData(data, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new AttachmentProperty('ATTACH', binaryValue)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on a link\n\t *\n\t * @param {String} uri The URI for the attachment\n\t * @param {String=} formatType The mime-type of the uri\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromLink(uri, formatType = null) {\n\t\tconst property = new AttachmentProperty('ATTACH', uri)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { startStringWith, uc } from '../helpers/stringHelper.js'\n\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\nexport default class AttendeeProperty extends Property {\n\n\t/**\n\t * Returns the role of the attendee.\n\t *\n\t * @returns {string}\n\t */\n\tget role() {\n\t\tconst allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT']\n\t\tconst defaultValue = 'REQ-PARTICIPANT'\n\n\t\tif (this.hasParameter('ROLE')) {\n\t\t\tconst value = this.getParameterFirstValue('ROLE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets new role of the attendee\n\t *\n\t * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n\t */\n\tset role(role) {\n\t\tthis.updateParameterIfExist('ROLE', role)\n\t}\n\n\t/**\n\t * Returns the calendar-user-type of an attendee\n\t *\n\t * @returns {string}\n\t */\n\tget userType() {\n\t\tconst allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN']\n\n\t\tif (!this.hasParameter('CUTYPE')) {\n\t\t\treturn 'INDIVIDUAL'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('CUTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'UNKNOWN'\n\t\t}\n\t}\n\n\t/**\n\t * Sets new calendar-user-type of attendee\n\t *\n\t * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n\t */\n\tset userType(userType) {\n\t\tthis.updateParameterIfExist('CUTYPE', userType)\n\t}\n\n\t/**\n\t * Returns the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @returns {boolean}\n\t */\n\tget rsvp() {\n\t\tif (!this.hasParameter('RSVP')) {\n\t\t\treturn false\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RSVP')\n\t\t\treturn uc(value) === 'TRUE'\n\t\t}\n\t}\n\n\t/**\n\t * Updates the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @param {boolean} rsvp Whether or not to send out an invitation\n\t */\n\tset rsvp(rsvp) {\n\t\tthis.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE')\n\t}\n\n\t/**\n\t * Returns the common-name of the attendee\n\t *\n\t * @returns {string|null}\n\t */\n\tget commonName() {\n\t\treturn this.getParameterFirstValue('CN')\n\t}\n\n\t/**\n\t * Sets a new common-name of the attendee\n\t *\n\t * @param {string} commonName The display name of the attendee\n\t */\n\tset commonName(commonName) {\n\t\tthis.updateParameterIfExist('CN', commonName)\n\t}\n\n\t/**\n\t * Returns the participation-status of the attendee\n\t *\n\t * @returns {string}\n\t */\n\tget participationStatus() {\n\t\tlet vobjectType\n\t\tif (this.parent) {\n\t\t\tvobjectType = this.parent.name\n\t\t} else {\n\t\t\t// let's assume we are inside an event\n\t\t\t// if we don't know better\n\t\t\tvobjectType = 'VEVENT'\n\t\t}\n\n\t\tconst allowed = {\n\t\t\tVEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n\t\t\tVJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n\t\t\tVTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS'],\n\t\t}\n\n\t\tif (!this.hasParameter('PARTSTAT')) {\n\t\t\treturn 'NEEDS-ACTION'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('PARTSTAT')\n\t\t\tif (allowed[vobjectType].includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'NEEDS-ACTION'\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new participation-status of the attendee\n\t *\n\t * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n\t */\n\tset participationStatus(participationStatus) {\n\t\tthis.updateParameterIfExist('PARTSTAT', participationStatus)\n\t}\n\n\t/**\n\t * Gets this attendee's language\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets this attendee's language\n\t * This can be used to influence the language of the invitation email\n\t *\n\t * @param {String} language The preferred language of the attendee\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n\t/**\n\t * Gets the email of the attendee\n\t *\n\t * @returns {String}\n\t */\n\tget email() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the email address of the attendee\n\t *\n\t * @param {String} email The e-email address of the attendee\n\t */\n\tset email(email) {\n\t\tthis.value = startStringWith(email, 'mailto:')\n\t}\n\n\t/**\n\t * Is this attendee the organizer?\n\t *\n\t * @returns {boolean}\n\t */\n\tisOrganizer() {\n\t\treturn this._name === 'ORGANIZER'\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name and email\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameAndEMail(name, email, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [['CN', name]])\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {String} role The role\n\t * @param {String} userType The type of user\n\t * @param {Boolean} rsvp Whether to send out an invitation\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [\n\t\t\t['CN', name],\n\t\t\t['ROLE', role],\n\t\t\t['CUTYPE', userType],\n\t\t\t['RSVP', rsvp ? 'TRUE' : 'FALSE'],\n\t\t])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport ICAL from 'ical.js'\n\nICAL.design.icalendar.property.conference = {\n\tdefaultType: 'uri',\n}\n\nICAL.design.icalendar.param.feature = {\n\tvalueType: 'cal-address',\n\tmultiValue: ',',\n}\n\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\nexport default class ConferenceProperty extends Property {\n\n\t/**\n\t * Iterator that iterates over all supported features\n\t * of the conference system\n\t */\n\t* getFeatureIterator() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tyield * parameter.getValueIterator()\n\t}\n\n\t/**\n\t * Lists all supported features of the conference system\n\t *\n\t * @returns {String[]}\n\t */\n\tlistAllFeatures() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn []\n\t\t}\n\n\t\treturn this.getParameter('FEATURE').value.slice()\n\t}\n\n\t/**\n\t * Adds a supported feature to the conference system\n\t *\n\t * @param {String} featureToAdd Feature to add\n\t */\n\taddFeature(featureToAdd) {\n\t\tthis._modify()\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\tthis.updateParameterIfExist('FEATURE', [featureToAdd])\n\t\t} else {\n\t\t\tif (this.hasFeature(featureToAdd)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parameter = this.getParameter('FEATURE')\n\t\t\tparameter.value.push(featureToAdd)\n\t\t}\n\t}\n\n\t/**\n\t * Removes a supported feature\n\t *\n\t * @param {String} feature The feature to remove\n\t */\n\tremoveFeature(feature) {\n\t\tthis._modify()\n\t\tif (!this.hasFeature(feature)) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tconst index = parameter.value.indexOf(feature)\n\t\tparameter.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Removes all supported features from this conference system\n\t */\n\tclearAllFeatures() {\n\t\tthis.deleteParameter('FEATURE')\n\t}\n\n\t/**\n\t * Check if this conference system supports a feature\n\t *\n\t * @param {String} feature The feature to check\n\t * @returns {boolean}\n\t */\n\thasFeature(feature) {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tif (!Array.isArray(parameter.value)) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn parameter.value.includes(feature)\n\t}\n\n\t/**\n\t * Gets label for the conference system\n\t *\n\t * @returns {String}\n\t */\n\tget label() {\n\t\treturn this.getParameterFirstValue('LABEL')\n\t}\n\n\t/**\n\t * Updates the label for the conference system\n\t *\n\t * @param {String} label The label to set\n\t */\n\tset label(label) {\n\t\tthis.updateParameterIfExist('LABEL', label)\n\t}\n\n\t/**\n\t * Gets the uri for this conference system\n\t */\n\tget uri() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the uri for this conference system\n\t *\n\t * @param {String} uri The URI to set\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\ticalProperty.setParameter('value', 'URI')\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new ConferenceProperty based on URI, label and features\n\t *\n\t * @param {String} uri URI of the Conference\n\t * @param {String=} label Label of the conference\n\t * @param {String[]=} features Features of the conference\n\t * @returns {ConferenceProperty}\n\t */\n\tstatic fromURILabelAndFeatures(uri, label = null, features = null) {\n\t\tconst property = new ConferenceProperty('CONFERENCE', uri)\n\n\t\tif (label) {\n\t\t\tproperty.updateParameterIfExist('label', label)\n\t\t}\n\n\t\tif (features) {\n\t\t\tproperty.updateParameterIfExist('feature', features)\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\nexport default class FreeBusyProperty extends Property {\n\n\t/**\n\t * Gets the type of this FreeBusyProperty\n\t *\n\t * @returns {String}\n\t */\n\tget type() {\n\t\tconst allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE']\n\t\tconst defaultValue = 'BUSY'\n\n\t\tif (this.hasParameter('FBTYPE')) {\n\t\t\tconst value = this.getParameterFirstValue('FBTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets the type of this FreeBusyProperty\n\t *\n\t * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n\t */\n\tset type(type) {\n\t\tthis.updateParameterIfExist('FBTYPE', type)\n\t}\n\n\t/**\n\t * Creates a new FreeBusyProperty based on period and type\n\t *\n\t * @param {PeriodValue} period The period for FreeBusy Information\n\t * @param {String} type The type of the period\n\t * @returns {FreeBusyProperty}\n\t */\n\tstatic fromPeriodAndType(period, type) {\n\t\treturn new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\nexport default class GeoProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the latitude stored in this property\n\t *\n\t * @returns {Number}\n\t */\n\tget latitude() {\n\t\treturn this._value[0]\n\t}\n\n\t/**\n\t * Sets the latitude stored in this property\n\t *\n\t * @param {String|Number} lat Latitude\n\t */\n\tset latitude(lat) {\n\t\tthis._modifyContent()\n\t\tif (typeof lat !== 'number') {\n\t\t\tlat = parseFloat(lat)\n\t\t}\n\n\t\tthis._value[0] = lat\n\t}\n\n\t/**\n\t * Gets the longitude stored in this property\n\t */\n\tget longitude() {\n\t\treturn this._value[1]\n\t}\n\n\t/**\n\t * Sets the longitude stored in this property\n\t *\n\t * @param {String|Number} long Longitude\n\t */\n\tset longitude(long) {\n\t\tthis._modifyContent()\n\t\tif (typeof long !== 'number') {\n\t\t\tlong = parseFloat(long)\n\t\t}\n\n\t\tthis._value[1] = long\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but GEO is a (the one and only besides request-status) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new GeoProperty based on a latitude and a longitude value\n\t *\n\t * @param {Number} lat Latitude\n\t * @param {Number} long Longitude\n\t * @returns {GeoProperty}\n\t */\n\tstatic fromPosition(lat, long) {\n\t\treturn new GeoProperty('GEO', [lat, long])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\nexport default class ImageProperty extends AttachmentProperty {\n\n\t/**\n\t * Gets the image-type\n\t */\n\tget display() {\n\t\treturn this.getParameterFirstValue('DISPLAY') || 'BADGE'\n\t}\n\n\t/**\n\t * Gets the image-type\n\t *\n\t * @param {String} display The display-type image is optimized for\n\t */\n\tset display(display) {\n\t\tthis.updateParameterIfExist('DISPLAY', display)\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on data\n\t *\n\t * @param {String} data The data of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromData(data, display = null, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new ImageProperty('IMAGE', binaryValue)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on a link\n\t *\n\t * @param {String} uri The uri of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromLink(uri, display = null, formatType = null) {\n\t\tconst property = new ImageProperty('IMAGE', uri)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\nexport default class RelationProperty extends Property {\n\n\t/**\n\t * Get's the relation-type of this related-to property\n\t *\n\t * @returns {String}\n\t */\n\tget relationType() {\n\t\tconst allowed = ['PARENT', 'CHILD', 'SIBLING']\n\t\tconst defaultValue = 'PARENT'\n\n\t\tif (!this.hasParameter('RELTYPE')) {\n\t\t\treturn defaultValue\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RELTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn defaultValue\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new relation type\n\t *\n\t * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n\t */\n\tset relationType(relationType) {\n\t\tthis.updateParameterIfExist('RELTYPE', relationType)\n\t}\n\n\t/**\n\t * Gets Id of related object\n\t *\n\t * @returns {String}\n\t */\n\tget relatedId() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets a new related id\n\t *\n\t * @param {String} relatedId The Id of the related document\n\t */\n\tset relatedId(relatedId) {\n\t\tthis.value = relatedId\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t *\n\t * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n\t * @param {String} relId The Id of the related document\n\t * @returns {RelationProperty}\n\t */\n\tstatic fromRelTypeAndId(relType, relId) {\n\t\treturn new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\nexport default class RequestStatusProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the status code of the request status\n\t *\n\t * @returns {Number}\n\t */\n\tget statusCode() {\n\t\treturn parseFloat(this.value[0])\n\t}\n\n\t/**\n\t * Sets the status code of the request status\n\t *\n\t * @param {Number} statusCode The statusCode of the request\n\t */\n\tset statusCode(statusCode) {\n\t\tthis._modifyContent()\n\n\t\tthis.value[0] = statusCode.toString()\n\n\t\t// This makes sure 2.0 is actually saved as 2.0, not 2\n\t\tif (statusCode === Math.floor(statusCode)) {\n\t\t\tthis.value[0] += '.0'\n\t\t}\n\t}\n\n\t/**\n\t * Gets the status message of the request status\n\t *\n\t * @returns {string}\n\t */\n\tget statusMessage() {\n\t\treturn this.value[1]\n\t}\n\n\t/**\n\t * Sets the status message of the request status\n\t *\n\t * @param {String} statusMessage The message of the request\n\t */\n\tset statusMessage(statusMessage) {\n\t\tthis._modifyContent()\n\t\tthis.value[1] = statusMessage\n\t}\n\n\t/**\n\t * Gets the exception data of the request status if available\n\t *\n\t * @returns {null|String}\n\t */\n\tget exceptionData() {\n\t\tif (!this.value[2]) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this.value[2]\n\t}\n\n\t/**\n\t * Sets the exception dtat of the request status\n\t *\n\t * @param {String} exceptionData The additional exception-data\n\t */\n\tset exceptionData(exceptionData) {\n\t\tthis._modifyContent()\n\t\tthis.value[2] = exceptionData\n\t}\n\n\t/**\n\t * Check if request is pending\n\t *\n\t * @returns {boolean}\n\t */\n\tisPending() {\n\t\treturn this.statusCode >= 1 && this.statusCode < 2\n\t}\n\n\t/**\n\t * Check if request was successful\n\t *\n\t * @returns {boolean}\n\t */\n\tisSuccessful() {\n\t\treturn this.statusCode >= 2 && this.statusCode < 3\n\t}\n\n\t/**\n\t * Check if a client error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisClientError() {\n\t\treturn this.statusCode >= 3 && this.statusCode < 4\n\t}\n\n\t/**\n\t * Check if a scheduling error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisSchedulingError() {\n\t\treturn this.statusCode >= 4 && this.statusCode < 5\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new RequestStatusProperty from a code and a status message\n\t *\n\t * @param {Number} code The status-code of the request\n\t * @param {String} message The message of the request\n\t * @returns {RequestStatusProperty}\n\t */\n\tstatic fromCodeAndMessage(code, message) {\n\t\treturn new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message])\n\t}\n\n}\n\n// All request statuses registered in RFC 5546\nRequestStatusProperty.SUCCESS = [2.0, 'Success']\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.']\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.']\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.']\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.']\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.']\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.']\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.']\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.']\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.']\n\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.']\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.']\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.']\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.']\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.']\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.']\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.']\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.']\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.']\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.']\n\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.']\n\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.']\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.']\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.']\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.']\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class TextProperty\n * @classdesc\n */\nexport default class TextProperty extends Property {\n\n\t/**\n\t * Gets the alternate text\n\t *\n\t * @returns {String}\n\t */\n\tget alternateText() {\n\t\treturn this.getParameterFirstValue('ALTREP')\n\t}\n\n\t/**\n\t * Sets the alternate text\n\t *\n\t * @param {String} altRep The alternative text\n\t */\n\tset alternateText(altRep) {\n\t\tthis.updateParameterIfExist('ALTREP', altRep)\n\t}\n\n\t/**\n\t * Gets language of this property\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets language of this property\n\t *\n\t * @param {String} language The language of the text\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport DurationValue from '../values/durationValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\n\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\nexport default class TriggerProperty extends Property {\n\n\t/**\n\t * Gets the related parameter\n\t *\n\t * @returns {String}\n\t */\n\tget related() {\n\t\tif (!this.hasParameter('RELATED')) {\n\t\t\treturn 'START'\n\t\t}\n\n\t\treturn this.getParameterFirstValue('RELATED')\n\t}\n\n\t/**\n\t * Sets the related parameter\n\t *\n\t * @param {String} related Either START or END\n\t */\n\tset related(related) {\n\t\tthis.updateParameterIfExist('RELATED', related)\n\t}\n\n\t/**\n\t * Gets the value of this trigger\n\t * (If you override the setter, you also have to override the getter or\n\t * it will simply be undefined)\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n\t */\n\tget value() {\n\t\treturn super.value\n\t}\n\n\t/**\n\t * Set the value of this trigger\n\t *\n\t * @param {DurationValue|DateTimeValue} value The time of trigger\n\t */\n\tset value(value) {\n\t\tsuper.value = value\n\n\t\t// If it's not a duration, remove related parameter\n\t\tif (value instanceof DateTimeValue) {\n\t\t\tthis.deleteParameter('RELATED')\n\t\t\tsuper.value = value.getInUTC()\n\t\t}\n\t}\n\n\t/**\n\t * Gets whether this alarm trigger is relative\n\t *\n\t * @returns {boolean}\n\t */\n\tisRelative() {\n\t\treturn this.getFirstValue() instanceof DurationValue\n\t}\n\n\t/**\n\t * Creates a new absolute trigger\n\t *\n\t * @param {DateTimeValue} alarmTime Time to create Trigger from\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromAbsolute(alarmTime) {\n\t\treturn new TriggerProperty('TRIGGER', alarmTime.getInUTC())\n\t}\n\n\t/**\n\t * Creates a new relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset Duration to create Trigger from\n\t * @param {Boolean=} relatedToStart Related to Start or end?\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n\t\treturn new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport AttendeeProperty from './attendeeProperty.js'\nimport ConferenceProperty from './conferenceProperty.js'\nimport FreeBusyProperty from './freeBusyProperty.js'\nimport GeoProperty from './geoProperty.js'\nimport ImageProperty from './imageProperty.js'\nimport RelationProperty from './relationProperty.js'\nimport RequestStatusProperty from './requestStatusProperty.js'\nimport TextProperty from './textProperty.js'\nimport TriggerProperty from './triggerProperty.js'\nimport Property from './property.js'\nimport { uc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\nexport function getConstructorForPropertyName(propName) {\n\tswitch (uc(propName)) {\n\tcase 'ATTACH':\n\t\treturn AttachmentProperty\n\n\tcase 'ATTENDEE':\n\tcase 'ORGANIZER':\n\t\treturn AttendeeProperty\n\n\tcase 'CONFERENCE':\n\t\treturn ConferenceProperty\n\n\tcase 'FREEBUSY':\n\t\treturn FreeBusyProperty\n\n\tcase 'GEO':\n\t\treturn GeoProperty\n\n\tcase 'IMAGE':\n\t\treturn ImageProperty\n\n\tcase 'RELATED-TO':\n\t\treturn RelationProperty\n\n\tcase 'REQUEST-STATUS':\n\t\treturn RequestStatusProperty\n\n\tcase 'TRIGGER':\n\t\treturn TriggerProperty\n\n\tcase 'COMMENT':\n\tcase 'CONTACT':\n\tcase 'DESCRIPTION':\n\tcase 'LOCATION':\n\tcase 'SUMMARY':\n\t\treturn TextProperty\n\n\tdefault:\n\t\treturn Property\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport { lc, uc, ucFirst } from '../helpers/stringHelper.js'\nimport { createComponent } from '../factories/icalFactory.js'\nimport { getConstructorForPropertyName } from '../properties'\nimport Property from '../properties/property.js'\nimport Parameter from '../parameters/parameter.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class AbstractComponent\n */\nexport default class AbstractComponent extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name - Name of component\n\t * @param {Property[]} properties - Array of properties stored inside the component\n\t * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n\t * @param {CalendarComponent|null} root - The root of this calendar document\n\t * @param {AbstractComponent|null} parent - The parent component of this element\n\t */\n\tconstructor(name, properties = [], components = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of component\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * All properties in this component\n\t\t *\n\t\t * @type {Map<String, Property[]>}\n\t\t * @private\n\t\t */\n\t\tthis._properties = new Map()\n\n\t\t/**\n\t\t * All subcomponents of this component\n\t\t *\n\t\t * @type {Map<String, AbstractComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._components = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setPropertiesFromConstructor(properties)\n\t\tthis._setComponentsFromConstructor(components)\n\t}\n\n\t/**\n\t * Get the component's name\n\t *\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the root of this calendar-document\n\t *\n\t * @returns {CalendarComponent}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this calendar-document\n\t *\n\t * @param {CalendarComponent} root The new root element\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.root = root\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.root = root\n\t\t}\n\n\t}\n\n\t/**\n\t * Gets the parent component\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the parent component\n\t *\n\t * @param {AbstractComponent} parent The new parent element\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first property that matches the given propertyName\n\t *\n\t * @param {String} propertyName Name of the property to get\n\t * @returns {Property|null}\n\t */\n\tgetFirstProperty(propertyName) {\n\t\tif (!this._properties.has(uc(propertyName))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._properties.get(uc(propertyName))[0]\n\t}\n\n\t/**\n\t * Gets the first value of the first property matching that name\n\t *\n\t * @param {String} propertyName Name of the property to get first value of\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tgetFirstPropertyFirstValue(propertyName) {\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (!property) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn property.getFirstValue()\n\t}\n\n\t/**\n\t * update a property if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} propertyName Name of the property to update / create\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tthis._modify()\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (property) {\n\t\t\tproperty.value = value\n\t\t} else {\n\t\t\tconst constructor = getConstructorForPropertyName(propertyName)\n\t\t\tconst newProperty = new constructor(propertyName, value, [], this, this.root)\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\t/**\n\t * Returns iterator for all properties of a given propertyName\n\t * or if no propertyName was given over all available properties\n\t *\n\t * @param {String=} propertyName Name of the property to get an iterator for\n\t */\n\t* getPropertyIterator(propertyName = null) {\n\t\tif (propertyName) {\n\t\t\tif (!this.hasProperty(propertyName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._properties.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._properties.get(uc(propertyName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._properties.keys()) {\n\t\t\t\tyield * this.getPropertyIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all properties by name that match the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @private\n\t */\n\t* _getAllOfPropertyByLang(propertyName, lang) {\n\t\tfor (const property of this.getPropertyIterator(propertyName)) {\n\t\t\t// getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n\t\t\tif (property.getParameterFirstValue('LANGUAGE') === lang) {\n\t\t\t\tyield property\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the first property by name that matches the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @returns {Property|null}\n\t * @private\n\t */\n\t_getFirstOfPropertyByLang(propertyName, lang) {\n\t\tconst iterator = this._getAllOfPropertyByLang(propertyName, lang)\n\t\treturn iterator.next().value || null\n\t}\n\n\t/**\n\t * Adds a property\n\t *\n\t * @param {Property} property The property to add\n\t * @returns {boolean}\n\t */\n\taddProperty(property) {\n\t\tthis._modify()\n\n\t\tproperty.root = this.root\n\t\tproperty.parent = this\n\n\t\tif (this._properties.has(property.name)) {\n\t\t\tconst arr = this._properties.get(property.name)\n\t\t\tif (arr.indexOf(property) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(property)\n\t\t} else {\n\t\t\tthis._properties.set(property.name, [property])\n\t\t}\n\n\t\tproperty.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a property of the given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\thasProperty(propertyName) {\n\t\treturn this._properties.has(uc(propertyName))\n\t}\n\n\t/**\n\t * Removes the given property from this component\n\t *\n\t * @param {Property} property The property to delete\n\t * @returns {boolean}\n\t */\n\tdeleteProperty(property) {\n\t\tthis._modify()\n\t\tif (!this._properties.has(property.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._properties.get(property.name)\n\t\tconst index = arr.indexOf(property)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last property of the given name,\n\t\t\t// remove the entire array from _properties\n\t\t\t// This is required for hasProperty to work properly\n\t\t\tthis._properties.delete(property.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all properties of a given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis._modify()\n\t\treturn this._properties.delete(uc(propertyName))\n\t}\n\n\t/**\n\t * Gets the first component of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent|null}\n\t */\n\tgetFirstComponent(componentName) {\n\t\tif (!this.hasComponent(componentName)) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._components.get(uc(componentName))[0]\n\t}\n\n\t/**\n\t * Returns iterator for all components of a given componentName\n\t * or if no componentName was given over all available components\n\t *\n\t * @param {String=} componentName The name of the component\n\t */\n\t* getComponentIterator(componentName) {\n\t\tif (componentName) {\n\t\t\tif (!this.hasComponent(componentName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._components.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._components.get(uc(componentName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._components.keys()) {\n\t\t\t\tyield * this.getComponentIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds a new component to this component\n\t *\n\t * @param {AbstractComponent} component The component to add\n\t * @returns {Boolean}\n\t */\n\taddComponent(component) {\n\t\tthis._modify()\n\n\t\tcomponent.root = this.root\n\t\tcomponent.parent = this\n\n\t\tif (this._components.has(component.name)) {\n\t\t\tconst arr = this._components.get(component.name)\n\t\t\tif (arr.indexOf(component) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(component)\n\t\t} else {\n\t\t\tthis._components.set(component.name, [component])\n\t\t}\n\n\t\tcomponent.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a component of the given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\thasComponent(componentName) {\n\t\treturn this._components.has(uc(componentName))\n\t}\n\n\t/**\n\t * Removes the given component from this component\n\t *\n\t * @param {AbstractComponent} component The component to delete\n\t * @returns {boolean}\n\t */\n\tdeleteComponent(component) {\n\t\tthis._modify()\n\t\tif (!this._components.has(component.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._components.get(component.name)\n\t\tconst index = arr.indexOf(component)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last component of the given name,\n\t\t\t// remove the entire array from _components\n\t\t\t// This is required for hasComponent to work properly\n\t\t\tthis._components.delete(component.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all components of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis._modify()\n\t\treturn this._components.delete(uc(componentName))\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.lock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.lock()\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.unlock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tclone() {\n\t\tconst properties = []\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperties.push(property.clone())\n\t\t}\n\n\t\tconst components = []\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponents.push(component.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, properties, components, this.root, this.parent)\n\t}\n\n\t/**\n\t * Adds properties from constructor to this._properties\n\t *\n\t * @param {Property[]} properties Array of properties\n\t * @private\n\t */\n\t_setPropertiesFromConstructor(properties) {\n\t\tfor (let property of properties) {\n\t\t\tif (Array.isArray(property)) {\n\t\t\t\tconst constructor = getConstructorForPropertyName(property[0])\n\t\t\t\tproperty = new constructor(property[0], property[1])\n\t\t\t}\n\n\t\t\tthis.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Adds components from constructor to this._components\n\t *\n\t * @param {AbstractComponent[]} components Array of components\n\t * @private\n\t */\n\t_setComponentsFromConstructor(components) {\n\t\tfor (const component of components) {\n\t\t\tthis.addComponent(component)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Component} icalValue The ical.js component to initialise from\n\t * @param {CalendarComponent=} root The root of the Calendar Document\n\t * @param {AbstractComponent=} parent The parent element of this component\n\t * @returns {AbstractComponent}\n\t */\n\tstatic fromICALJs(icalValue, root = null, parent = null) {\n\t\tif (!(icalValue instanceof ICAL.Component)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tconst name = icalValue.name\n\t\tconst newComponent = new this(name, [], [], root, parent)\n\n\t\tfor (const icalProp of icalValue.getAllProperties()) {\n\t\t\tconst constructor = getConstructorForPropertyName(icalProp.name)\n\t\t\tconst property = constructor.fromICALJs(icalProp, root, newComponent)\n\t\t\tnewComponent.addProperty(property)\n\t\t}\n\n\t\tfor (const icalComp of icalValue.getAllSubcomponents()) {\n\t\t\tconst constructor = this._getConstructorForComponentName(icalComp.name)\n\t\t\tconst component = constructor.fromICALJs(icalComp, root, newComponent)\n\t\t\tnewComponent.addComponent(component)\n\t\t}\n\n\t\treturn newComponent\n\t}\n\n\t/**\n\t * Gets a constructor for a give component name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent}\n\t * @protected\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn AbstractComponent\n\t}\n\n\t/**\n\t * turns this Component into an ICAL.js component\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tconst component = createComponent(lc(this.name))\n\n\t\tfor (const prop of this.getPropertyIterator()) {\n\t\t\tcomponent.addProperty(prop.toICALJs())\n\t\t}\n\t\tfor (const comp of this.getComponentIterator()) {\n\t\t\tcomponent.addSubcomponent(comp.toICALJs())\n\t\t}\n\n\t\treturn component\n\t}\n\n}\n\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\nexport function advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n\toptions = getDefaultOncePropConfig(options)\n\n\tObject.defineProperty(prototype, options.name, {\n\t\tget: function() {\n\t\t\tconst value = this.getFirstPropertyFirstValue(options.iCalendarName)\n\n\t\t\tif (!value) {\n\t\t\t\treturn options.defaultValue\n\t\t\t} else {\n\t\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\t\treturn options.unknownValue\n\t\t\t\t}\n\n\t\t\t\treturn value\n\t\t\t}\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis._modify()\n\n\t\t\tif (value === null) {\n\t\t\t\tthis.deleteAllProperties(options.iCalendarName)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\tthrow new TypeError('Illegal value')\n\t\t\t}\n\t\t\tthis.updatePropertyWithValue(options.iCalendarName, value)\n\t\t},\n\t})\n}\n\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultipleOccurrenceProperty(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getPropertyIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(property) {\n\t\tthis.deleteProperty(property)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllProperties(options.iCalendarName)\n\t}\n}\n\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * (lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function(lang = null) {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang))\n\t}\n\n\tprototype['add' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tconst property = this._getFirstOfPropertyByLang(options.iCalendarName, lang)\n\t\tif (property) {\n\t\t\tproperty.addValue(value)\n\t\t} else {\n\t\t\tconst newProperty = new Property(options.iCalendarName, [value])\n\t\t\tif (lang) {\n\t\t\t\tconst languageParameter = new Parameter('LANGUAGE', lang)\n\t\t\t\tnewProperty.setParameter(languageParameter)\n\t\t\t}\n\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tif (property.isMultiValue() && property.hasValue(value)) {\n\t\t\t\tif (property.value.length === 1) {\n\t\t\t\t\tthis.deleteProperty(property)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tproperty.removeValue(value)\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function(lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tthis.deleteProperty(property)\n\t\t}\n\t}\n}\n\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\nexport function advertiseComponent(prototype, options) {\n\toptions = getDefaultMultipleCompConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getComponentIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(component) {\n\t\tthis.deleteComponent(component)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllComponents(options.iCalendarName)\n\t}\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\nfunction getDefaultOncePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t\tallowedValues: null,\n\t\tdefaultValue: null,\n\t\tunknownValue: null,\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultiplePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultipleCompConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: 'V' + uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nexport function dateFactory() {\n\treturn new Date()\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class RecurringWithoutDtStartError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from '../properties/property.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\nimport RecurringWithoutDtStartError from '../errors/recurringWithoutDtStartError.js'\nimport PeriodValue from '../values/periodValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\nexport default class RecurrenceManager {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tconstructor(masterItem) {\n\n\t\t/**\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._masterItem = masterItem\n\n\t\t/**\n\t\t * Set of Recurrence exception items\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * A sorted index of recurrence ids with range\n\t\t *\n\t\t * @type {Number[]}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsIndex = []\n\n\t\t/**\n\t\t * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n\t\t *\n\t\t * @type {Map<Number, DurationValue>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache = new Map()\n\n\t\t/**\n\t\t * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItems = new Map()\n\t}\n\n\t/**\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this._masterItem\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tset masterItem(masterItem) {\n\t\tthis._masterItem = masterItem\n\t}\n\n\t/**\n\t * Gets an iterator over all registered recurrence exceptions of this calendar-document\n\t */\n\t* getRecurrenceExceptionIterator() {\n\t\tyield * this._recurrenceExceptionItems.values()\n\t}\n\n\t/**\n\t * Gets a list of all registered recurrence-exceptions of this calendar-document\n\t *\n\t * @returns {AbstractRecurringComponent[]}\n\t */\n\tgetRecurrenceExceptionList() {\n\t\treturn Array.from(this.getRecurrenceExceptionIterator())\n\t}\n\n\t/**\n\t * Checks if there is a recurrence Exception for a given recurrenceId\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.has(recurrenceId)\n\t}\n\n\t/**\n\t * Gets the recurrence exception for a given recurrence Id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRecurrenceException(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.get(recurrenceId) || null\n\t}\n\n\t/**\n\t * Check if there is a recurrence-exception with a range for a given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId\n\t}\n\n\t/**\n\t * Get recurrence-exception with range that's affecting the given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\trecurrenceId,\n\t\t\t(a, b) => a - b\n\t\t)\n\n\t\tif (index === 0) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst key = this._rangeRecurrenceExceptionItemsIndex[index - 1]\n\t\treturn this._rangeRecurrenceExceptionItems.get(key)\n\t}\n\n\t/**\n\t * Gets the difference between recurrence-id and start\n\t * Mostly needed to handle recurrence-exceptions with range\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {DurationValue|null}\n\t */\n\tgetRangeRecurrenceExceptionDiff(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n\t\t\treturn this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId)\n\t\t}\n\n\t\tconst recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\tif (!recurrenceException) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst originalRecurrenceId = recurrenceException.recurrenceId\n\t\tconst originalModifiedStart = recurrenceException.startDate\n\n\t\tconst difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId)\n\t\tdifference.lock()\n\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference)\n\t\treturn difference\n\t}\n\n\t/**\n\t * Adds a new recurrence-exception to this calendar-document\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n\t */\n\trelateRecurrenceException(recurrenceExceptionItem) {\n\t\tthis._modify()\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\n\t\tthis._recurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\tif (recurrenceExceptionItem.modifiesFuture()) {\n\t\t\tthis._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\t\tkey,\n\t\t\t\t(a, b) => a - b\n\t\t\t)\n\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key)\n\t\t}\n\n\t\trecurrenceExceptionItem.recurrenceManager = this\n\t}\n\n\t/**\n\t * Removes a recurrence exception by the item itself\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n\t */\n\tremoveRecurrenceException(recurrenceExceptionItem) {\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\t\tthis.removeRecurrenceExceptionByRecurrenceId(key)\n\t}\n\n\t/**\n\t * Removes a recurrence exception by it's unix-time\n\t *\n\t * @param {Number} recurrenceId The recurrence-exception to remove\n\t */\n\tremoveRecurrenceExceptionByRecurrenceId(recurrenceId) {\n\t\tthis._modify()\n\t\tthis._recurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId)\n\n\t\tconst index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId)\n\t\tif (index !== -1) {\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 1)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n\t * @returns {Number}\n\t * @private\n\t */\n\t_getRecurrenceIdKey(recurrenceExceptionItem) {\n\t\treturn recurrenceExceptionItem\n\t\t\t.recurrenceId\n\t\t\t.unixTime\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence rules\n\t */\n\t* getRecurrenceRuleIterator() {\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tyield property.getFirstValue()\n\t\t}\n\t}\n\n\t/**\n\t * Gets a list of all recurrence rules\n\t *\n\t * @returns {RecurValue[]}\n\t */\n\tgetRecurrenceRuleList() {\n\t\treturn Array.from(this.getRecurrenceRuleIterator())\n\t}\n\n\t/**\n\t * Adds a new recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to add\n\t */\n\taddRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst property = new Property('RRULE', recurrenceRule)\n\t\tthis._masterItem.addProperty(property)\n\t}\n\n\t/**\n\t * Removes a recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to remove\n\t */\n\tremoveRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tif (property.getFirstValue() === recurrenceRule) {\n\t\t\t\tthis._masterItem.deleteProperty(property)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes all recurrence rules\n\t */\n\tclearAllRecurrenceRules() {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tthis._masterItem.deleteAllProperties('RRULE')\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t */\n\t* getRecurrenceDateIterator(isNegative = false, valueType = null) {\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t * @returns {(DateTimeValue|PeriodValue)[]}\n\t */\n\tlistAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\treturn Array.from(this.getRecurrenceDateIterator(isNegative, valueType))\n\t}\n\n\t/**\n\t * This adds a new recurrence-date value.\n\t * It automatically adds it to the first property of the same value-type\n\t * or creates a new one if necessary\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value EXDATE to add\n\t */\n\taddRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\t// Only add DateTime Value if its of the same timezone\n\t\tlet timezoneId = null\n\t\tif (value instanceof DateTimeValue && !value.isDate) {\n\t\t\ttimezoneId = value.timezoneId\n\t\t}\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tconst iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId)\n\n\t\tconst first = iterator.next.value\n\t\tif (first instanceof Property) {\n\t\t\tconst propertyValue = first.value\n\t\t\tpropertyValue.push(value)\n\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t} else {\n\t\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\t\t\tconst property = new Property(propertyName, value)\n\t\t\tthis._masterItem.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Checks if a recurrenceID is an RDATE or EXDATE\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (let value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tif (value instanceof PeriodValue) {\n\t\t\t\tvalue = value.start\n\t\t\t}\n\n\t\t\tif (value.compare(recurrenceId) === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\t/**\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {null|DateTimeValue|PeriodValue}\n\t */\n\tgetRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (const value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tlet valueToCheck = value\n\t\t\tif (valueToCheck instanceof PeriodValue) {\n\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t}\n\n\t\t\tif (valueToCheck.compare(recurrenceId) === 0) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * This deletes a recurrence-date value from this recurrence-set\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n\t */\n\tremoveRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tfor (const valueToCheck of property.getValueIterator()) {\n\t\t\t\tif (value === valueToCheck) {\n\t\t\t\t\tconst allValues = property.value\n\n\t\t\t\t\tif (allValues.length === 1) {\n\t\t\t\t\t\tthis.masterItem.deleteProperty(property)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tconst index = allValues.indexOf(value)\n\t\t\t\t\tallValues.splice(index, 1)\n\t\t\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clears all recurrence-date information\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String} valueType The type of RDATEs/EXDATEs to remove\n\t */\n\tclearAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tthis._masterItem.deleteProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Gets the property name for recurrence dates based on the isNegative boolean\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @returns {string}\n\t * @private\n\t */\n\t_getPropertyNameByIsNegative(isNegative) {\n\t\treturn isNegative\n\t\t\t? 'EXDATE'\n\t\t\t: 'RDATE'\n\t}\n\n\t/**\n\t * Gets the value type based on the provided value\n\t *\n\t * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n\t * @returns {string}\n\t * @private\n\t */\n\t_getValueTypeByValue(value) {\n\t\tif (value instanceof PeriodValue) {\n\t\t\treturn 'PERIOD'\n\t\t} else if (value.isDate) {\n\t\t\treturn 'DATE'\n\t\t} else {\n\t\t\treturn 'DATETIME'\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String|null} valueType The type of values to get\n\t * @param {ICAL.Timezone=} timezoneId Filter by timezone\n\t * @private\n\t */\n\t* _getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\n\t\tfor (const property of this._masterItem.getPropertyIterator(propertyName)) {\n\t\t\tif (valueType === null) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n\t\t\t\tif (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n\t\t\t\t\tyield property\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the entire set of recurrence rules is finite\n\t *\n\t * @returns {boolean}\n\t */\n\tisFinite() {\n\t\treturn this.getRecurrenceRuleList().every((rule) => rule.isFinite())\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t */\n\tisEmptyRecurrenceSet() {\n\t\treturn this._getRecurExpansionObject().next() === undefined\n\t}\n\n\t/**\n\t * Gets the occurrence at the exact given recurrenceId\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetOccurrenceAtExactly(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\t\treturn this.masterItem\n\t\t\t}\n\n\t\t\treturn null\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst icalRecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(icalRecurrenceId) === 0) {\n\t\t\t\t// It's a match 🔥\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next))\n\t\t\t}\n\n\t\t\tif (next.compare(icalRecurrenceId) === 1) {\n\t\t\t\t// We hit an occurrence in the future, return null\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the closest occurrence to the given recurrenceId.\n\t * That's either the closest in the future, or in case the\n\t * recurrence-set ends before recurrenceId, the last one\n\t *\n\t * This function works solely on the basis of recurrence-ids.\n\t * It ignores the actual date of recurrence-exceptions.\n\t * Ideally we should fix it and provide a similar implementation\n\t * like getAllOccurrencesBetweenIterator, but for now it's the\n\t * accepted behavior.\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tgetClosestOccurrence(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\treturn this.masterItem\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\trecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet previous = null\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(recurrenceId) === -1) {\n\t\t\t\tprevious = next\n\t\t\t} else {\n\t\t\t\t// This is the case when it's either equal or in the future\n\t\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t\t\t}\n\t\t}\n\n\t\tconst dateTimeValue = DateTimeValue.fromICALJs(previous)\n\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t * Start and End are inclusive\n\t *\n\t * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n\t * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n\t */\n\t* getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (typeof this.masterItem.isInTimeFrame !== 'function') {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\t\t\tif (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\n\t\t\treturn\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs()\n\t\tconst queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs()\n\n\t\tconst recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys())\n\t\tconst maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys)\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\t// We have to get the real occurrence to resolve RECURRENCE-IDs\n\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\tconst occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\n\t\t\t// Check what type of recurrence object we are dealing with\n\t\t\t// Depending on that, the time to compare to changes\n\t\t\t// If we are dealing events, we have to compare to the end-date\n\t\t\t// If we are dealing with tasks, we will have to compare to the due-date\n\t\t\t// etc.\n\t\t\t// For now we are only implementing events, other components will come later\n\t\t\tlet compareDate = null\n\t\t\tswitch (uc(occurrence.name)) {\n\t\t\tcase 'VEVENT':\n\t\t\tcase 'VTODO':\n\t\t\t\tcompareDate = occurrence.endDate.toICALJs()\n\t\t\t\tbreak\n\n\t\t\tcase 'VJOURNAL':\n\t\t\tdefault:\n\t\t\t\tcompareDate = next\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// If the date we are comparing to is before our time-range,\n\t\t\t// we don't want to yield this event\n\t\t\tif (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// If we have an object that is:\n\t\t\t// 1. either\n\t\t\t// 1.1 - no recurrence exception\n\t\t\t// or\n\t\t\t// 1.2 - a recurrence-exception that modifies the future\n\t\t\t// and\n\t\t\t// 2. starts after the queried time-range ends, then we stop expanding\n\t\t\tconst startDate = occurrence.startDate.toICALJs()\n\t\t\tif ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n\t\t\t\t// Just break if there are no recurrence-exceptions\n\t\t\t\tif (this._recurrenceExceptionItems.size === 0) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\t// Keep iterating until our currently checked recurrenceId\n\t\t\t\t// is bigger than the maximum recurrence-id that we have.\n\t\t\t\tif (next.toUnixTime() > maximumRecurrenceId) {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof occurrence.isInTimeFrame !== 'function') {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t\tif (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t *\n\t * @param {DateTimeValue} start Start of time-range\n\t * @param {DateTimeValue} end End of time-range\n\t * @returns {(*|null)[]}\n\t */\n\tgetAllOccurrencesBetween(start, end) {\n\t\treturn Array.from(this.getAllOccurrencesBetweenIterator(start, end))\n\t}\n\n\t/**\n\t * Update the UID of all components in the recurrence set\n\t *\n\t * @param {String} newUID The new UID of the calendar-document\n\t */\n\tupdateUID(newUID) {\n\t\tthis._masterItem.updatePropertyWithValue('UID', newUID)\n\n\t\tfor (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n\t\t\trecurrenceExceptionItem.updatePropertyWithValue('UID', newUID)\n\t\t}\n\t}\n\n\t/**\n\t * Updates the recurrence-information accordingly,\n\t * whenever the start-date of the master-item changes\n\t *\n\t * @param {DateTimeValue} newStartDate The new start-date\n\t * @param {DateTimeValue} oldStartDate The old start-date\n\t */\n\tupdateStartDateOfMasterItem(newStartDate, oldStartDate) {\n\t\tconst difference = newStartDate.subtractDateWithTimezone(oldStartDate)\n\n\t\t// update EXDATE\n\t\tfor (const exdate of this.getRecurrenceDateIterator(true)) {\n\t\t\t// If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n\t\t\tif (this.hasRecurrenceDate(false, exdate)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// EXDATE are always either DATE or DATETIME,\n\t\t\t// no need to check for PERIOD\n\t\t\texdate.addDuration(difference)\n\t\t}\n\n\t\tfor (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n\t\t\t// We don't edit RDATES, so don't update recurrence-ids if they\n\t\t\t// are based on an RDATE\n\t\t\tif (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tthis.removeRecurrenceException(recurrenceException)\n\t\t\trecurrenceException.recurrenceId.addDuration(difference)\n\t\t\tthis.relateRecurrenceException(recurrenceException)\n\t\t}\n\n\t\t// update UNTIL of recurrence-rules\n\t\tfor (const rrule of this.getRecurrenceRuleIterator()) {\n\t\t\tif (rrule.until) {\n\t\t\t\trrule.until.addDuration(difference)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets an object for the given recurrenceId\n\t * It does not verify that the given recurrenceId\n\t * is actually a valid recurrence of this calendar-document\n\t *\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {AbstractRecurringComponent}\n\t * @private\n\t */\n\t_getOccurrenceAtRecurrenceId(recurrenceId) {\n\t\tif (this.hasRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst recurrenceException = this.getRecurrenceException(recurrenceId)\n\n\t\t\tif (!recurrenceException.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn recurrenceException\n\t\t\t}\n\n\t\t\treturn recurrenceException\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\t\tconst difference = this.getRangeRecurrenceExceptionDiff(recurrenceId)\n\n\t\t\treturn rangeRecurrenceException\n\t\t\t\t.forkItem(recurrenceId, difference)\n\t\t} else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n\t\t\tif (!this._masterItem.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn this._masterItem\n\t\t\t}\n\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else {\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal recur-expansion object.\n\t * This is necessary after each modification of the\n\t * recurrence-information\n\t */\n\tresetCache() {\n\t\t// TODO - implement me\n\t}\n\n\t/**\n\t * Gets a new ICAL.RecurExpansion object\n\t *\n\t * Inspired by how ICAL.JS RecurExpansion\n\t * serialises and unserialises its state\n\t *\n\t * @returns {ICAL.RecurExpansion}\n\t * @private\n\t */\n\t_getRecurExpansionObject() {\n\t\tif (this._masterItem.startDate === null) {\n\t\t\tthrow new RecurringWithoutDtStartError()\n\t\t}\n\n\t\tconst dtstart = this._masterItem.startDate.toICALJs()\n\t\tlet last = dtstart.clone()\n\t\tconst ruleIterators = []\n\t\tlet ruleDateInc\n\t\tconst ruleDates = []\n\t\tlet ruleDate = null\n\t\tconst exDates = []\n\t\tconst complete = false\n\n\t\tfor (const ruleValue of this.getRecurrenceRuleIterator()) {\n\t\t\truleIterators.push(ruleValue.toICALJs().iterator(dtstart))\n\t\t\truleIterators[ruleIterators.length - 1].next()\n\t\t}\n\n\t\tfor (let rDateValue of this.getRecurrenceDateIterator()) {\n\t\t\tif (rDateValue instanceof PeriodValue) {\n\t\t\t\trDateValue = rDateValue.start\n\t\t\t}\n\n\t\t\trDateValue = rDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\trDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\n\t\t\truleDates.splice(index, 0, rDateValue)\n\t\t}\n\n\t\t// Is the first RDATE prior to our current DTSTART?\n\t\tif (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n\t\t\truleDateInc = 0\n\t\t\tlast = ruleDates[0].clone()\n\t\t} else {\n\t\t\truleDateInc = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\tdtstart,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\truleDate = exDates[ruleDateInc]\n\t\t}\n\n\t\tfor (let exDateValue of this.getRecurrenceDateIterator(true)) {\n\t\t\texDateValue = exDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\texDates,\n\t\t\t\texDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\texDates.splice(index, 0, exDateValue)\n\t\t}\n\n\t\tconst exDateInc = ICAL.helpers.binsearchInsert(\n\t\t\texDates,\n\t\t\tdtstart,\n\t\t\t(a, b) => a.compare(b)\n\t\t)\n\t\tconst exDate = exDates[exDateInc]\n\n\t\treturn new ICAL.RecurExpansion({\n\t\t\tdtstart,\n\t\t\tlast,\n\t\t\truleIterators,\n\t\t\truleDateInc,\n\t\t\texDateInc,\n\t\t\truleDates,\n\t\t\truleDate,\n\t\t\texDates,\n\t\t\texDate,\n\t\t\tcomplete,\n\t\t})\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_modify() {\n\t\tif (this._masterItem.isLocked()) {\n\t\t\tthrow new ModificationNotAllowedError()\n\t\t}\n\t}\n\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\n\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\nexport default class TimezoneComponent extends AbstractComponent {\n\n\t/**\n\t * Returns a calendar-js Timezone object\n\t *\n\t * @returns {Timezone}\n\t */\n\ttoTimezone() {\n\t\treturn new Timezone(this.toICALJs())\n\t}\n\n}\n\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n\tname: 'timezoneId',\n\tiCalendarName: 'tzid',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport TimezoneComponent from '../components/root/timezoneComponent.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Timezone\n */\nexport default class Timezone {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n\t * @param {String?} ics The iCalendar timezone definition\n\t */\n\tconstructor(timezoneId, ics) {\n\n\t\t/**\n\t\t * Id of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneId = null\n\n\t\t/**\n\t\t * ICS representation of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._ics = null\n\n\t\t/**\n\t\t * @type {ICAL.Timezone|null}\n\t\t */\n\t\tthis._innerValue = null\n\n\t\t/**\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._initialized = false\n\n\t\t// If the first parameter is already\n\t\t// an instance of ICAL.Timezone,\n\t\t// skip lazy loading\n\t\tif (timezoneId instanceof ICAL.Timezone) {\n\t\t\tthis._innerValue = timezoneId\n\t\t\tthis._initialized = true\n\t\t} else if (timezoneId instanceof ICAL.Component) {\n\t\t\tthis._innerValue = new ICAL.Timezone(timezoneId)\n\t\t\tthis._initialized = true\n\t\t} else {\n\t\t\tthis._timezoneId = timezoneId\n\t\t\tthis._ics = ics\n\t\t}\n\t}\n\n\t/**\n\t * Gets the timezone id\n\t *\n\t * @returns {String}\n\t */\n\tget timezoneId() {\n\t\tif (this._initialized) {\n\t\t\treturn this._innerValue.tzid\n\t\t}\n\n\t\treturn this._timezoneId\n\t}\n\n\t/**\n\t * Gets the UTC Offset for a given date in this timezone\n\t *\n\t * @param {Number} year Year of the date\n\t * @param {Number} month Month of the date (1-based)\n\t * @param {Number} day Day of the date\n\t * @param {Number} hour Hour of the date\n\t * @param {Number} minute Minute of the date\n\t * @param {Number} second Second of the date\n\t * @returns {Number}\n\t */\n\toffsetForArray(year, month, day, hour, minute, second) {\n\t\tthis._initialize()\n\n\t\tconst time = new ICAL.Time({\n\t\t\tyear,\n\t\t\tmonth,\n\t\t\tday,\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond,\n\t\t\tisDate: false,\n\t\t})\n\t\treturn this._innerValue.utcOffset(time)\n\t}\n\n\t/**\n\t * Converts a timestamp to an array of year, month, day, hour, minute, second.\n\t *\n\t * @param {Number} ms Timestamp in milliseconds\n\t * @returns {Number[]}\n\t */\n\ttimestampToArray(ms) {\n\t\tthis._initialize()\n\n\t\t// just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\t\tconst time = ICAL.Time.fromData({\n\t\t\tyear: 1970,\n\t\t\tmonth: 1,\n\t\t\tday: 1,\n\t\t\thour: 0,\n\t\t\tminute: 0,\n\t\t\tsecond: 0,\n\t\t})\n\t\ttime.fromUnixTime(Math.floor(ms / 1000))\n\n\t\tconst local = time.convertToZone(this._innerValue)\n\t\treturn [\n\t\t\tlocal.year,\n\t\t\tlocal.month, // THIS is 1-based !\n\t\t\tlocal.day,\n\t\t\tlocal.hour,\n\t\t\tlocal.minute,\n\t\t\tlocal.second,\n\t\t]\n\t}\n\n\t/**\n\t *\n\t * @returns {TimezoneComponent}\n\t */\n\ttoTimezoneComponent() {\n\t\treturn TimezoneComponent.fromICALJs(this.toICALJs())\n\t}\n\n\t/**\n\t * Returns\n\t *\n\t * @returns {ICAL.Timezone}\n\t */\n\ttoICALTimezone() {\n\t\tthis._initialize()\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * Returns the corresponding ICAL.\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tthis._initialize()\n\t\treturn this._innerValue.component\n\t}\n\n\t/**\n\t * Initialises the inner ICAL.Timezone component\n\t *\n\t * @private\n\t */\n\t_initialize() {\n\t\tif (!this._initialized) {\n\t\t\tconst jCal = ICAL.parse(this._ics)\n\t\t\tconst icalComp = new ICAL.Component(jCal)\n\t\t\tthis._innerValue = new ICAL.Timezone(icalComp)\n\t\t\tthis._initialized = true\n\t\t}\n\t}\n\n}\n\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone)\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone)\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\n\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\nexport default class AlarmComponent extends AbstractComponent {\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name - Name of the attendee\n\t * @param {String} email - E-Mail address of the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this.addProperty(attendeeProperty)\n\t}\n\n\t/**\n\t * Gets the trigger property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n\t *\n\t * @returns {TriggerProperty}\n\t */\n\tget trigger() {\n\t\treturn this.getFirstProperty('TRIGGER')\n\t}\n\n\t/**\n\t * Sets an absolute alarm\n\t *\n\t * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n\t */\n\tsetTriggerFromAbsolute(alarmTime) {\n\t\tconst triggerProperty = TriggerProperty.fromAbsolute(alarmTime)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n\t/**\n\t * Sets a relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n\t * @param {Boolean=} relatedToStart - Related to Start or end?\n\t */\n\tsetTriggerFromRelative(alarmOffset, relatedToStart = true) {\n\t\tconst triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n}\n\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action')\n\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description')\n\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary')\n\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration')\n\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat')\n\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseComponent,\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport DateTimeValue from '../../values/dateTimeValue.js'\nimport DurationValue from '../../values/durationValue.js'\nimport PeriodValue from '../../values/periodValue.js'\nimport { dateFactory } from '../../factories/dateFactory.js'\nimport { uc } from '../../helpers/stringHelper.js'\nimport RecurrenceManager from '../../recurrence/recurrenceManager.js'\nimport { v4 as uuid } from 'uuid'\nimport RelationProperty from '../../properties/relationProperty.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport Timezone from '../../timezones/timezone.js'\nimport RequestStatusProperty from '../../properties/requestStatusProperty.js'\nimport AttachmentProperty from '../../properties/attachmentProperty.js'\nimport ImageProperty from '../../properties/imageProperty.js'\nimport TextProperty from '../../properties/textProperty.js'\nimport AlarmComponent from '../nested/alarmComponent.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\nimport { getConfig } from '../../config.js'\nimport { getConstructorForComponentName } from '../nested'\n\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\nexport default class AbstractRecurringComponent extends AbstractComponent {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * In case this object is virtual, primary item refers to the master object\n\t\t * that this object was forked from.\n\t\t *\n\t\t * Otherwise primary item is null\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._primaryItem = null\n\n\t\t/**\n\t\t * Indicator whether this is a direct fork of a primary item, representing\n\t\t * the very same recurrence id\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._isExactForkOfPrimary = false\n\n\t\t/**\n\t\t * The original recurrence-id of this occurrence.\n\t\t * Mostly needed for range exceptions with a range\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._originalRecurrenceId = null\n\n\t\t/**\n\t\t * Instance of the recurrence manager.\n\t\t * This object is shared among all instances\n\t\t * of a recurrence-set\n\t\t *\n\t\t * @type {RecurrenceManager}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceManager = null\n\n\t\t/**\n\t\t * Indicator whether this component was modified\n\t\t * In case it was, the last-modified property\n\t\t * needs to be updated before saving the event\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._dirty = false\n\n\t\t/**\n\t\t * Indicator whether there have been significant changes\n\t\t * In case the changes are considered significant,\n\t\t * the sequence needs to be incremented\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._significantChange = false\n\n\t\t/**\n\t\t * Id of this AbstractRecurringComponent\n\t\t *\n\t\t * @type {String|null}\n\t\t * @private\n\t\t */\n\t\tthis._cachedId = null\n\t}\n\n\t/**\n\t * Gets the primary-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget primaryItem() {\n\t\treturn this._primaryItem\n\t}\n\n\t/**\n\t * Sets the primary-item of this recurring item\n\t *\n\t * @param {AbstractRecurringComponent} primaryItem The new primary-item\n\t */\n\tset primaryItem(primaryItem) {\n\t\tthis._modify()\n\t\tthis._primaryItem = primaryItem\n\t}\n\n\t/**\n\t * Gets whether or not this is a fork of the primary item\n\t * for the same recurrence-id\n\t *\n\t * @returns {boolean}\n\t */\n\tget isExactForkOfPrimary() {\n\t\treturn this._isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Sets the isExactForkOfPrimary indicator, see getter for description\n\t *\n\t * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n\t */\n\tset isExactForkOfPrimary(isExactForkOfPrimary) {\n\t\tthis._isExactForkOfPrimary = isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Gets the original recurrence-id\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget originalRecurrenceId() {\n\t\treturn this._originalRecurrenceId\n\t}\n\n\t/**\n\t * Sets the original recurrence-id\n\t *\n\t * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n\t */\n\tset originalRecurrenceId(originalRecurrenceId) {\n\t\tthis._originalRecurrenceId = originalRecurrenceId\n\t}\n\n\t/**\n\t * Gets the recurrence-manager of this recurrence-set\n\t *\n\t * @returns {RecurrenceManager}\n\t */\n\tget recurrenceManager() {\n\t\treturn this._recurrenceManager\n\t}\n\n\t/**\n\t * Sets the recurrence-manager of this recurrence-set\n\t *\n\t * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n\t */\n\tset recurrenceManager(recurrenceManager) {\n\t\tthis._recurrenceManager = recurrenceManager\n\t}\n\n\t/**\n\t * Gets the master-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this.recurrenceManager.masterItem\n\t}\n\n\t/**\n\t * Returns whether this item is the master item\n\t *\n\t * @returns {boolean}\n\t */\n\tisMasterItem() {\n\t\treturn this.masterItem === this\n\t}\n\n\t/**\n\t * Gets a unique ID for this occurrence of the event\n\t *\n\t * Please note that if the same event occurs in multiple calendars,\n\t * this id will not be unique. Software using this library will have to\n\t * manually mix in the calendar id into this id\n\t *\n\t * @returns {String}\n\t */\n\tget id() {\n\t\tif (this._cachedId) {\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tif (this.startDate === null) {\n\t\t\tthis._cachedId = encodeURIComponent(this.uid)\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tthis._cachedId = [\n\t\t\tencodeURIComponent(this.uid),\n\t\t\tencodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString()),\n\t\t].join('###')\n\n\t\treturn this._cachedId\n\t}\n\n\t/**\n\t * Gets the UID property\n\t *\n\t * @returns {String|null}\n\t */\n\tget uid() {\n\t\treturn this.getFirstPropertyFirstValue('UID')\n\t}\n\n\t/**\n\t * Sets the UID property and the UID property of all related exceptions\n\t *\n\t * @param {String} uid The new UID\n\t */\n\tset uid(uid) {\n\t\tthis._recurrenceManager.updateUID(uid)\n\t}\n\n\t/**\n\t * Gets the start date of the event\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('dtstart')\n\t}\n\n\t/**\n\t * Sets the start date of the event\n\t *\n\t * @param {DateTimeValue} start The new start-date to set\n\t */\n\tset startDate(start) {\n\t\tconst oldStartDate = this.startDate\n\t\tthis.updatePropertyWithValue('dtstart', start)\n\n\t\tif (this.isMasterItem()) {\n\t\t\tthis._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether this item is part of a recurring set\n\t *\n\t * @returns {boolean}\n\t */\n\tisPartOfRecurrenceSet() {\n\t\treturn this.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Checks whether this component is recurring\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurring() {\n\t\treturn this.hasProperty('RRULE') || this.hasProperty('RDATE')\n\t}\n\n\t/**\n\t * Checks whether this component is a recurrence-exception\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurrenceException() {\n\t\treturn this.hasProperty('RECURRENCE-ID')\n\t}\n\n\t/**\n\t * Checks wether this component is a recurrence-exception\n\t * and whether it's modifying the future\n\t *\n\t * @returns {boolean}\n\t */\n\tmodifiesFuture() {\n\t\tif (!this.isRecurrenceException()) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst property = this.getFirstProperty('RECURRENCE-ID')\n\t\treturn property.getParameterFirstValue('RANGE') === 'THISANDFUTURE'\n\t}\n\n\t/**\n\t * Creates an occurrence at the given time\n\t *\n\t * This is an internal function for calendar-js, used by the recurrence-manager\n\t * Do not call from outside\n\t *\n\t * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n\t * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tforkItem(recurrenceId, startDiff = null) {\n\t\tconst occurrence = this.clone()\n\n\t\toccurrence.recurrenceManager = this.recurrenceManager\n\t\toccurrence.primaryItem = this\n\n\t\t// Exact match for master item or recurrence-exception\n\t\tif (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\toccurrence.isExactForkOfPrimary = true\n\t\t}\n\n\t\tif (!occurrence.hasProperty('DTSTART')) {\n\t\t\tthrow new TypeError('Can\\'t fork item without a DTSTART')\n\t\t}\n\n\t\tif (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n\t\t\tconst originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone()\n\t\t\trecurrenceId = recurrenceId.getInICALTimezone(originalTimezone)\n\t\t}\n\n\t\toccurrence.originalRecurrenceId = recurrenceId.clone()\n\n\t\tconst dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART')\n\n\t\tlet period = null\n\t\tif (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n\t\t\tconst recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId)\n\t\t\tif (recurrenceDate instanceof PeriodValue) {\n\t\t\t\tperiod = recurrenceDate\n\t\t\t}\n\t\t}\n\n\t\tlet duration\n\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\tconst dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND')\n\t\t\tduration = dtEndValue.subtractDateWithTimezone(dtStartValue)\n\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\tconst dueValue = occurrence.getFirstPropertyFirstValue('DUE')\n\t\t\tduration = dueValue.subtractDateWithTimezone(dtStartValue)\n\t\t}\n\n\t\tif (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n\t\t\toccurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone())\n\n\t\t\tif (startDiff) {\n\t\t\t\toccurrence.startDate.addDuration(startDiff)\n\t\t\t}\n\n\t\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\t\tconst dtEnd = occurrence.startDate.clone()\n\t\t\t\tdtEnd.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', dtEnd)\n\t\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\t\tconst due = occurrence.startDate.clone()\n\t\t\t\tdue.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DUE', due)\n\t\t\t}\n\n\t\t\tif (period) {\n\t\t\t\toccurrence.deleteAllProperties('DTEND')\n\t\t\t\toccurrence.deleteAllProperties('DURATION')\n\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', period.end.clone())\n\t\t\t}\n\t\t}\n\n\t\toccurrence.resetDirty()\n\n\t\treturn occurrence\n\t}\n\n\t/**\n\t * Checks whether it's possible to create a recurrence exception for this event\n\t * It is possible\n\t *\n\t * @returns {boolean}\n\t */\n\tcanCreateRecurrenceExceptions() {\n\t\tlet primaryIsRecurring = false\n\t\tif (this.primaryItem && this.primaryItem.isRecurring()) {\n\t\t\tprimaryIsRecurring = true\n\t\t}\n\t\treturn this.isRecurring() || this.modifiesFuture() || (!this.isRecurring() && primaryIsRecurring)\n\t}\n\n\t/**\n\t * creates a recurrence exception based on this event\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will apply changes to this and all future occurrences\n\t *\n\t * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n\t * In case you set `thisAndAllFuture` to true, this will be an\n\t * AbstractRecurringComponent inside a entirely new calendar component\n\t */\n\tcreateRecurrenceException(thisAndAllFuture = false) {\n\t\tif (!this.canCreateRecurrenceExceptions()) {\n\t\t\tthrow new Error('Can\\'t create recurrence-exceptions for non-recurring items')\n\t\t}\n\n\t\tconst previousPrimaryItem = this.primaryItem\n\n\t\t/**\n\t\t * The overall support for RANGE=THISANDFUTURE is really bad.\n\t\t * Instead, we have to create a new event/journal/task and\n\t\t * set an until date on the old one.\n\t\t *\n\t\t * Also see:\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n\t\t *\n\t\t * Right now, this replaces all future occurrence modifications,\n\t\t * including recurrence-exceptions, RDATES and EXDATES.\n\t\t * This is also how other CUAs handle it, but i would be happy\n\t\t * to put that up for discussion.\n\t\t *\n\t\t * Keeping future RDates + their recurrence-exceptions would be rather easy.\n\t\t * Updating recurrence-exceptions, that are based off normal recurrence rules,\n\t\t * could be very expensive.\n\t\t */\n\t\tif (thisAndAllFuture) {\n\t\t\tif (this.isExactForkOfPrimary) {\n\t\t\t\t// master item\n\t\t\t\tif (this.primaryItem.isMasterItem()) {\n\t\t\t\t\tthis._overridePrimaryItem()\n\t\t\t\t\treturn [this, this]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.removeThisOccurrence(true)\n\t\t\tthis.recurrenceManager = new RecurrenceManager(this)\n\t\t\tthis._originalRecurrenceId = null\n\n\t\t\tthis.primaryItem = this\n\t\t\tthis.updatePropertyWithValue('UID', uuid())\n\t\t\tthis._cachedId = null\n\n\t\t\tthis.addRelation('SIBLING', previousPrimaryItem.uid)\n\t\t\tpreviousPrimaryItem.addRelation('SIBLING', this.uid)\n\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\t\t\tthis._significantChange = false\n\t\t\tthis._dirty = false\n\n\t\t\tthis.root = this.root.constructor.fromEmpty()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.parent = this.root\n\n\t\t\t// this is a completely new event, we should set the RSVP of all attendees to true,\n\t\t\t// so that they receive an invitation to the new event, not only the cancellation of the old one\n\t\t\tfor (const attendee of this.getAttendeeIterator()) {\n\t\t\t\tattendee.rsvp = true\n\t\t\t}\n\t\t} else {\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.recurrenceId = this.getReferenceRecurrenceId().clone()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.recurrenceManager.relateRecurrenceException(this)\n\t\t\tthis.primaryItem = this\n\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('RRULE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tconst valueDateTimeRecurDate = recurDate.start\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t\tthis.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.originalRecurrenceId = null\n\t\t}\n\n\t\treturn [previousPrimaryItem, this]\n\t}\n\n\t/**\n\t * Deletes this occurrence from the series of recurring events\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will remove this and all future occurrences\n\t *\n\t * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n\t * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n\t */\n\tremoveThisOccurrence(thisAndAllFuture = false) {\n\t\tif (!this.isPartOfRecurrenceSet()) {\n\t\t\t// When deleting an object, that's not part of a recurring set,\n\t\t\t// the calendar-document would be empty.\n\t\t\treturn true\n\t\t}\n\n\t\tif (thisAndAllFuture) {\n\t\t\t// To get the UNTIL date, just deduct one second.\n\t\t\t// That's also how macOS does it, so this should be fairly\n\t\t\t// well supported among all clients\n\t\t\tconst recurrenceId = this.getReferenceRecurrenceId().clone()\n\n\t\t\tconst until = recurrenceId.getInTimezone(Timezone.utc)\n\t\t\tuntil.addDuration(DurationValue.fromSeconds(-1))\n\n\t\t\tfor (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n\t\t\t\trecurValue.until = until.clone()\n\t\t\t}\n\n\t\t\tfor (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n\t\t\t\tlet valueToCheck = recurDate\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t\t}\n\n\t\t\t\tif (recurrenceId.compare(valueToCheck) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n\t\t\t\tif (recurrenceId.compare(exceptionDate) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(true, exceptionDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n\t\t\t\tif (recurrenceId.compare(exception.recurrenceId) <= 0) {\n\t\t\t\t\tthis.root.deleteComponent(exception)\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceException(exception)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Make sure we don't leave orphaned recurrence-exceptions\n\t\t\tif (this.isRecurrenceException() && !this.modifiesFuture()) {\n\t\t\t\tthis.root.deleteComponent(this)\n\t\t\t\tthis.recurrenceManager.removeRecurrenceException(this)\n\t\t\t}\n\n\t\t\t// If this is based on a recurrence-date, simply delete it\n\t\t\t// otherwise add an exception-date\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t} else {\n\t\t\t\tthis.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone())\n\t\t\t}\n\t\t}\n\n\t\treturn this.recurrenceManager.isEmptyRecurrenceSet()\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tclone() {\n\t\tconst comp = super.clone()\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n\t/**\n\t * Adds a new attendee\n\t *\n\t * @param {AttendeeProperty} attendee The attendee property to add\n\t * @private\n\t * @returns {boolean}\n\t */\n\t_addAttendee(attendee) {\n\t\t// Check for different Attendee objects with the same uri\n\t\tfor (const a of this.getAttendeeIterator()) {\n\t\t\tif (a.email === attendee.email) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tthis.addProperty(attendee)\n\t\treturn true\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Adds a new attendee based on their properties\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @param {String} role The role of the attendee to add\n\t * @param {String} userType The type of attendee to add\n\t * @param {Boolean} rsvp Whether or not to request a response from the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n\t/**\n\t * Adds a new attachment from raw data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromData(data, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromData(data, formatType))\n\t}\n\n\t/**\n\t * Adds a new attachment from a link\n\t *\n\t * @param {String} uri The URI of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromLink(uri, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromLink(uri, formatType))\n\t}\n\n\t/**\n\t * Adds a new contact\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n\t *\n\t * @param {String} contact The textual contact description to add\n\t */\n\taddContact(contact) {\n\t\tthis.addProperty(new TextProperty('CONTACT', contact))\n\t}\n\n\t/**\n\t * Adds a new comment\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n\t *\n\t * @param {String} comment The comment to add\n\t */\n\taddComment(comment) {\n\t\tthis.addProperty(new TextProperty('COMMENT', comment))\n\t}\n\n\t/**\n\t * Adds a new image from raw data\n\t *\n\t * @param {String} data Data of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromData(data, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromData(data, display, formatType))\n\t}\n\n\t/**\n\t * Adds a new image from a link\n\t *\n\t * @param {String} uri The URI of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromLink(uri, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromLink(uri, display, formatType))\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t * and adds it to this object\n\t *\n\t * @param {String} relType The type of relation to add\n\t * @param {String} relId The id of the related calendar-document\n\t */\n\taddRelation(relType, relId) {\n\t\tthis.addProperty(RelationProperty.fromRelTypeAndId(relType, relId))\n\t}\n\n\t/**\n\t * Creates a new REQUEST-STATUS property based on code and message\n\t * and adds it to this object\n\t *\n\t * @param {Number} code The status-code of the request status\n\t * @param {String} message The message of the request status\n\t */\n\taddRequestStatus(code, message) {\n\t\tthis.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message))\n\t}\n\n\t/**\n\t * Adds a new absolute alarm based on action and trigger time\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DateTimeValue} alarmTime The trigger time of the alarm\n\t * @returns {AlarmComponent}\n\t */\n\taddAbsoluteAlarm(action, alarmTime) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromAbsolute(alarmTime),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DurationValue} alarmOffset The trigger time of the alarm\n\t * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n\t * @returns {AlarmComponent}\n\t */\n\taddRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Marks a certain property as edited\n\t *\n\t * @param {String} propertyName The name of the property\n\t */\n\tmarkPropertyAsDirty(propertyName) {\n\t\tthis.markDirty()\n\n\t\t// Properties that must be considered a significant change\n\t\t// according to RFC 5546 Section 2.1.4\n\t\tconst props = [\n\t\t\t'DTSTART',\n\t\t\t'DTEND',\n\t\t\t'DURATION',\n\t\t\t'RRULE',\n\t\t\t'RDATE',\n\t\t\t'EXDATE',\n\t\t\t'STATUS',\n\t\t\t...getConfig('property-list-significant-change', []),\n\t\t]\n\n\t\tif (props.includes(uc(propertyName))) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Marks a certain component as edited\n\t *\n\t * @param {String} componentName The name of the component\n\t */\n\tmarkSubComponentAsDirty(componentName) {\n\t\tthis.markDirty()\n\n\t\tif (getConfig('component-list-significant-change', []).includes(componentName)) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not this component is dirty\n\t *\n\t * @returns {boolean}\n\t */\n\tisDirty() {\n\t\treturn this._dirty || this._significantChange\n\t}\n\n\t/**\n\t * Marks this object as dirty\n\t */\n\tmarkDirty() {\n\t\tthis._dirty = true\n\t}\n\n\t/**\n\t * Marks changes as significant. Can be called by the program using this lib\n\t */\n\tmarkChangesAsSignificant() {\n\t\tthis._significantChange = true\n\t}\n\n\t/**\n\t * Updates the event after modifications.\n\t *\n\t * @returns {boolean} true if last-modified was updated\n\t */\n\tundirtify() {\n\t\tif (!this.isDirty()) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (!this.hasProperty('SEQUENCE')) {\n\t\t\tthis.sequence = 0\n\t\t}\n\n\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tif (this._significantChange) {\n\t\t\tthis.sequence++\n\t\t}\n\n\t\tthis.resetDirty()\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n\t */\n\tresetDirty() {\n\t\tthis._dirty = false\n\t\tthis._significantChange = false\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tsuper.updatePropertyWithValue(propertyName, value)\n\n\t\tif (uc(propertyName) === 'UID') {\n\t\t\tthis._cachedId = null\n\t\t}\n\n\t\tthis.markPropertyAsDirty(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\tproperty.subscribe(() => this.markPropertyAsDirty(property.name))\n\t\treturn super.addProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\treturn super.deleteProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis.markPropertyAsDirty(propertyName)\n\t\treturn super.deleteAllProperties(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\tcomponent.subscribe(() => this.markSubComponentAsDirty(component.name))\n\t\treturn super.addComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\treturn super.deleteComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis.markSubComponentAsDirty(componentName)\n\t\treturn super.deleteAllComponents(componentName)\n\t}\n\n\t/**\n\t * Gets a recurrence-id that has to be used to refer to this event.\n\t * This is used for recurrence-management\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetReferenceRecurrenceId() {\n\t\tif (this.originalRecurrenceId) {\n\t\t\treturn this.originalRecurrenceId\n\t\t} else if (this.recurrenceId) {\n\t\t\treturn this.recurrenceId\n\t\t} else {\n\t\t\treturn this.startDate\n\t\t}\n\t}\n\n\t/**\n\t * Overrides the master item with this one\n\t *\n\t * @private\n\t */\n\t_overridePrimaryItem() {\n\t\tconst oldStartDate = this.primaryItem.startDate\n\n\t\tfor (const property of this.primaryItem.getPropertyIterator()) {\n\t\t\tthis.primaryItem.deleteProperty(property)\n\t\t}\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tthis.primaryItem.addProperty(property)\n\t\t}\n\n\t\tthis.recurrenceManager.resetCache()\n\t\tif (this.startDate.compare(oldStartDate) !== 0) {\n\t\t\tthis.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(...args) {\n\t\tconst comp = super.fromICALJs(...args)\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'stampTime',\n\tiCalendarName: 'DTSTAMP',\n})\n\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'recurrenceId',\n\tiCalendarName: 'RECURRENCE-ID',\n})\n\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color')\n\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'creationTime',\n\tiCalendarName: 'CREATED',\n})\n\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'modificationTime',\n\tiCalendarName: 'LAST-MODIFIED',\n})\n\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer')\n\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence')\n\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status')\n\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url')\n\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'title',\n\tiCalendarName: 'SUMMARY',\n})\n\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'accessClass',\n\tiCalendarName: 'class',\n\tallowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n\tdefaultValue: 'PUBLIC',\n\tunknownValue: 'PRIVATE',\n})\n\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n\tname: 'category',\n\tpluralName: 'categories',\n\tiCalendarName: 'CATEGORIES',\n})\n\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attendee',\n})\n\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator<AttachmentProperty>}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator<RelationProperty>}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'relation',\n\tiCalendarName: 'RELATED-TO',\n})\n\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment')\n\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact')\n\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator<ImageProperty>}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image')\n\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator<RequestStatusProperty>}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'requestStatus',\n\tpluralName: 'requestStatus',\n\tiCalendarName: 'REQUEST-STATUS',\n})\n\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator<AlarmComponent>}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport AlarmComponent from './alarmComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VALARM':\n\t\treturn AlarmComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getTypeOfBirthdayEvent(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE')\n}\n\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\nexport function getIconForBirthday(eventComponent) {\n\tconst birthdayType = getTypeOfBirthdayEvent(eventComponent)\n\tswitch (birthdayType) {\n\tcase 'BDAY':\n\t\treturn '🎂'\n\n\tcase 'DEATHDATE':\n\t\treturn '⚰️'\n\n\tcase 'ANNIVERSARY':\n\t\treturn '💍'\n\n\tdefault:\n\t\treturn null\n\t}\n}\n\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\nexport function getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n\tif (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n\t\treturn null\n\t}\n\n\tconst yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR')\n\treturn parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10)\n}\n\n/**\n * Returns the name of the birthday person or null if not set\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getNameForBirthday(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-NAME')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport {\n\tgetAgeOfBirthday,\n\tgetIconForBirthday,\n\tgetTypeOfBirthdayEvent,\n} from '../../helpers/birthdayHelper.js'\nimport DurationValue from '../../values/durationValue.js'\nimport GeoProperty from '../../properties/geoProperty.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\n\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\nexport default class EventComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\treturn this.startDate.isDate && this.endDate.isDate\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the event\n\t *\n\t * Quote from RFC 5545 3.6.1:\n\t * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n\t * start of the event. For recurring events, it also specifies the\n\t * very first instance in the recurrence set. The \"DTEND\" property\n\t * for a \"VEVENT\" calendar component specifies the non-inclusive end\n\t * of the event. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE value type but no\n\t * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n\t * be one day. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n\t * \"DTEND\" property, the event ends on the same calendar date and\n\t * time of day specified by the \"DTSTART\" property.\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('dtend')) {\n\t\t\treturn this.getFirstPropertyFirstValue('dtend')\n\t\t}\n\n\t\tconst dtend = this.startDate.clone()\n\n\t\tif (this.hasProperty('duration')) {\n\t\t\tdtend.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\t} else if (this.startDate.isDate) {\n\t\t\tdtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24))\n\t\t} // There is nothing to do when this event is not allday\n\n\t\treturn dtend\n\t}\n\n\t/**\n\t * Sets the end time of the event\n\t *\n\t * @param {DateTimeValue} end The end of the event\n\t */\n\tset endDate(end) {\n\t\tthis.deleteAllProperties('duration')\n\t\tthis.updatePropertyWithValue('dtend', end)\n\t}\n\n\t/**\n\t * Gets the calculated duration of the event\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (this.hasProperty('duration')) {\n\t\t\treturn this.getFirstPropertyFirstValue('duration')\n\t\t}\n\n\t\treturn this.startDate.subtractDateWithTimezone(this.endDate)\n\t}\n\n\t/**\n\t * Sets the calculated duration of the event\n\t *\n\t * @param {DurationValue} duration The duration of the event\n\t */\n\tset duration(duration) {\n\t\tthis.deleteAllProperties('dtend')\n\t\tthis.updatePropertyWithValue('duration', duration)\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference system\n\t * @param {String=} label The label for the conference system\n\t * @param {String[]=} features The features of the conference system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis._modify()\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n\t/**\n\t * Adds a duration to the start of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToStart(duration) {\n\t\tthis.startDate.addDuration(duration)\n\t}\n\n\t/**\n\t * Adds a duration to the end of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToEnd(duration) {\n\t\tconst endDate = this.endDate\n\t\tendDate.addDuration(duration)\n\n\t\tthis.endDate = endDate\n\t}\n\n\t/**\n\t * Shifts the entire event by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this event')\n\t\t}\n\n\t\tthis.startDate.isDate = allDay\n\t\tthis.startDate.addDuration(delta)\n\n\t\t// If this event was moved from the all-day area into the time-grid,\n\t\t// then we have to add a timezone and the default duration\n\t\tif (currentAllDay && !allDay) {\n\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultTimedDuration)\n\t\t}\n\n\t\t// If this event was moved from the time-grid into the all-day area,\n\t\t// then we have to change the default duration\n\t\tif (!currentAllDay && allDay) {\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultAllDayDuration)\n\t\t}\n\n\t\t// If this event was only moved inside the time-grid or only inside\n\t\t// the all-day area, then we only have to adjust the end-date\n\t\tif (currentAllDay === allDay) {\n\t\t\tconst endDate = this.endDate\n\t\t\tendDate.addDuration(delta)\n\t\t\tthis.endDate = endDate\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this is a birthday event\n\t *\n\t * @returns {boolean}\n\t */\n\tisBirthdayEvent() {\n\t\treturn getTypeOfBirthdayEvent(this) === 'BDAY'\n\t}\n\n\t/**\n\t * Gets the icon to the birthday event\n\t *\n\t * @returns {string}\n\t */\n\tgetIconForBirthdayEvent() {\n\t\treturn getIconForBirthday(this)\n\t}\n\n\t/**\n\t * Calculates the age of the birthday\n\t *\n\t * @returns {number}\n\t */\n\tgetAgeForBirthdayEvent() {\n\t\treturn getAgeOfBirthday(this, this.startDate.year)\n\t}\n\n\t/**\n\t * Serializes the entire series to ICS\n\t *\n\t * @returns {string}\n\t */\n\ttoICSEntireSeries() {\n\t\treturn this.root.toICS()\n\t}\n\n\t/**\n\t * Serializes exactly this recurrence to ICS\n\t * It removes all recurrence information\n\t *\n\t * @returns {string}\n\t */\n\ttoICSThisOccurrence() {\n\t\tconst clone = this.clone()\n\n\t\tclone.deleteAllProperties('RRULE')\n\t\tclone.deleteAllProperties('EXRULE')\n\t\tclone.deleteAllProperties('RDATE')\n\t\tclone.deleteAllProperties('EXDATE')\n\t\tclone.deleteAllProperties('RECURRENCE-ID')\n\n\t\tclone.root = clone.root.constructor.fromEmpty()\n\t\tclone.parent = clone.root\n\t\tclone.root.addComponent(clone)\n\n\t\treturn clone.root.toICS()\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n}\n\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'timeTransparency',\n\tiCalendarName: 'TRANSP',\n\tallowedValues: ['OPAQUE', 'TRANSPARENT'],\n\tdefaultValue: 'OPAQUE',\n})\n\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description')\n\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'geographicalPosition',\n\tiCalendarName: 'GEO',\n})\n\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location')\n\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array(9).keys(),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\n\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\nexport default class FreeBusyComponent extends AbstractComponent {\n\n\t/**\n\t * Gets the start-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTSTART')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} startDate The start of the queried time-range\n\t */\n\tset startDate(startDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets the end-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTEND')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} endDate The end of the queried time-range\n\t */\n\tset endDate(endDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets an iterator over all FreeBusyProperties\n\t */\n\t* getFreeBusyIterator() {\n\t\tyield * this.getPropertyIterator('FREEBUSY')\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email))\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n}\n\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer')\n\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid')\n\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport { advertiseMultipleOccurrenceProperty } from '../abstractComponent.js'\nimport TextProperty from '../../properties/textProperty.js'\n\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\nexport default class JournalComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Adds a new description property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n\t *\n\t * @param {String} description The description text\n\t */\n\taddDescription(description) {\n\t\tthis.addProperty(new TextProperty('DESCRIPTION', description))\n\t}\n\n}\n\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\nimport GeoProperty from '../../properties/geoProperty.js'\n\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\nexport default class ToDoComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\tconst propertiesToCheck = ['DTSTART', 'DUE']\n\t\tfor (const propertyToCheck of propertiesToCheck) {\n\t\t\tif (this.hasProperty(propertyToCheck)) {\n\t\t\t\treturn this.getFirstPropertyFirstValue(propertyToCheck).isDate\n\t\t\t}\n\t\t}\n\n\t\t// If a task is not associated with any date, it is defined to\n\t\t// occur on any successive date until it is completed.\n\t\t// We are treating it as all-day in that case.\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the task\n\t *\n\t * If there is a due-date, we will just return that.\n\t * If there is a start-date and a duration, we will\n\t * calculate the end-date based on that.\n\t *\n\t * If there is neither a due-date nor a combination\n\t * of start-date and duration, we just return null\n\t *\n\t * @returns {DateTimeValue|null}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('due')) {\n\t\t\treturn this.getFirstPropertyFirstValue('due')\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst endDate = this.startDate.clone()\n\t\tendDate.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\treturn endDate\n\t}\n\n\t/**\n\t * Shifts the entire task by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\tthrow new TypeError('This task does not have a start-date nor due-date')\n\t\t}\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this todo')\n\t\t}\n\n\t\t// If this task has a start-date, update it\n\t\t// This is especially important, if you shift\n\t\t// the task by a negative duration, because\n\t\t// dtstart always has to be prior to the due date\n\t\tif (this.hasProperty('dtstart')) {\n\t\t\tthis.startDate.isDate = allDay\n\t\t\tthis.startDate.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\n\t\tif (this.hasProperty('due')) {\n\t\t\tthis.dueTime.isDate = allDay\n\t\t\tthis.dueTime.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.dueTime.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n\t\t\treturn start.compare(this.endDate) <= 0\n\t\t}\n\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n\t/**\n\t * Gets the geographical position property\n\t *\n\t * @returns {GeoProperty}\n\t */\n\tget geographicalPosition() {\n\t\treturn this.getFirstProperty('GEO')\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference\n\t * @param {String=} label The label of the conference\n\t * @param {String[]=} features Supported features of conference-system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n}\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'completedTime',\n\tiCalendarName: 'COMPLETED',\n})\n\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'dueTime',\n\tiCalendarName: 'DUE',\n})\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'duration',\n})\n\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'percent',\n\tiCalendarName: 'PERCENT-COMPLETE',\n})\n\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description')\n\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location')\n\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array.from(Array(10).keys()),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport EventComponent from './eventComponent.js'\nimport FreeBusyComponent from './freeBusyComponent.js'\nimport JournalComponent from './journalComponent.js'\nimport TimezoneComponent from './timezoneComponent.js'\nimport ToDoComponent from './toDoComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VEVENT':\n\t\treturn EventComponent\n\n\tcase 'VFREEBUSY':\n\t\treturn FreeBusyComponent\n\n\tcase 'VJOURNAL':\n\t\treturn JournalComponent\n\n\tcase 'VTIMEZONE':\n\t\treturn TimezoneComponent\n\n\tcase 'VTODO':\n\t\treturn ToDoComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from './abstractComponent.js'\nimport { getConstructorForComponentName } from './root'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\nexport default class CalendarComponent extends AbstractComponent {\n\n\t/**\n\t * Constructor\n\t *\n\t * @inheritDoc\n\t */\n\tconstructor(name = 'VCALENDAR', properties = [], components = []) {\n\t\tsuper(name, properties, components)\n\t\tthis.root = this\n\t\tthis.parent = null\n\t}\n\n\t/**\n\t * Gets an iterator over all VTIMEZONE components\n\t */\n\t* getTimezoneIterator() {\n\t\tyield * this.getComponentIterator('vtimezone')\n\t}\n\n\t/**\n\t * Gets an iterator over all VObject components\n\t */\n\t* getVObjectIterator() {\n\t\tyield * this.getEventIterator()\n\t\tyield * this.getJournalIterator()\n\t\tyield * this.getTodoIterator()\n\t}\n\n\t/**\n\t * Gets an iterator over all VEVENT components\n\t */\n\t* getEventIterator() {\n\t\tyield * this.getComponentIterator('vevent')\n\t}\n\n\t/**\n\t * Gets an iterator over all VFREEBUSY components\n\t */\n\t* getFreebusyIterator() {\n\t\tyield * this.getComponentIterator('vfreebusy')\n\t}\n\n\t/**\n\t * Gets an iterator over all VJOURNAL components\n\t */\n\t* getJournalIterator() {\n\t\tyield * this.getComponentIterator('vjournal')\n\t}\n\n\t/**\n\t * Gets an iterator over all VTODO components\n\t */\n\t* getTodoIterator() {\n\t\tyield * this.getComponentIterator('vtodo')\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * Converts this calendar component into text/calendar\n\t *\n\t * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n\t * @returns {string}\n\t */\n\ttoICS(cleanUpTimezones = true) {\n\t\tfor (const vObject of this.getVObjectIterator()) {\n\t\t\tvObject.undirtify()\n\t\t}\n\n\t\tconst icalRoot = this.toICALJs()\n\t\tif (cleanUpTimezones) {\n\t\t\tICAL.helpers.updateTimezones(icalRoot)\n\t\t}\n\t\treturn icalRoot.toString()\n\t}\n\n\t/**\n\t * Creates a new empty calendar-component\n\t *\n\t * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromEmpty(additionalProps = []) {\n\t\treturn new this('VCALENDAR', [\n\t\t\t['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')],\n\t\t\t['calscale', 'GREGORIAN'],\n\t\t\t['version', '2.0'],\n\t\t].concat(additionalProps))\n\t}\n\n\t/**\n\t * Creates a new calendar-component with a method\n\t *\n\t * @param {string} method The method for the calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromMethod(method) {\n\t\treturn this.fromEmpty([['method', method]])\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\tconst comp = super.fromICALJs(icalValue)\n\t\tcomp.root = comp\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'productId',\n\tiCalendarName: 'PRODID',\n})\n\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'version',\n})\n\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'calendarScale',\n\tiCalendarName: 'CALSCALE',\n\tdefaultValue: 'GREGORIAN',\n})\n\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'method',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nexport default class AbstractRepairStep {\n\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\tif (new.target === AbstractRepairStep) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractRepairStep')\n\t\t}\n\t}\n\n\t/**\n\t * @param {String} input String representation of the data to repair\n\t */\n\trepair(input) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * @returns {number}\n\t */\n\tstatic priority() {\n\t\treturn 0\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { v4 as uuid } from 'uuid'\n\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\nexport default class ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n\t\t\t\treturn 'BEGIN:' + vobjectName + '\\r\\n'\n\t\t\t\t\t+ 'UID:' + uuid()\n\t\t\t\t\t+ vObjectBlock\n\t\t\t\t\t+ 'END:' + vobjectName + '\\r\\n'\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\nexport default class ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n\t\t\t\treturn propName + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\nexport default class ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n\t\t\t\treturn propName + parameters + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\nexport default class ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D')\n\t\t\t.replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\nexport default class ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { uc } from '../../../helpers/stringHelper.js'\n\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\nexport default class ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\tlet containsProdId = false\n\t\tlet containsVersion = false\n\t\tlet containsCalscale = false\n\t\tconst includedTimezones = new Set()\n\n\t\treturn ics\n\t\t\t.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '')\n\t\t\t.replace(/^PRODID:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsProdId) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsProdId = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^VERSION:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsVersion) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsVersion = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^CALSCALE:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsCalscale) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsCalscale = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, (match) => {\n\t\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\n\t\t\t\t// If this Timezone definition contains no TZID for some reason,\n\t\t\t\t// just remove it, because we can't use it anyway\n\t\t\t\tif (tzidMatcher === null) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst tzid = uc(tzidMatcher[0].substr(5))\n\t\t\t\tif (includedTimezones.has(tzid)) {\n\t\t\t\t\t// If we already included this timezone, just skip\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tincludedTimezones.add(tzid)\n\t\t\t\treturn match\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\nexport default class ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Timezone from './timezone.js'\nimport tzData from '../../resources/timezones/zones.json'\n\n/**\n * @class TimezoneManager\n */\nexport class TimezoneManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * Map of aliases\n\t\t * Alias name => timezoneId\n\t\t *\n\t\t * @type {Map<String, String>}\n\t\t */\n\t\tthis._aliases = new Map()\n\n\t\t/**\n\t\t * Map of Timezones\n\t\t * timezoneId => Timezone\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\t}\n\n\t/**\n\t * Gets a timezone for the given id\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {Timezone|null}\n\t */\n\tgetTimezoneForId(timezoneId) {\n\t\treturn this._getTimezoneForIdRec(timezoneId, 0)\n\t}\n\n\t_getTimezoneForIdRec(timezoneId, level) {\n\t\tif (this._timezones.has(timezoneId)) {\n\t\t\treturn this._timezones.get(timezoneId)\n\t\t}\n\n\t\tif (level >= 20) {\n\t\t\t// too much recursion\n\t\t\tconsole.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits')\n\t\t\treturn null\n\t\t}\n\n\t\tif (this._aliases.has(timezoneId)) {\n\t\t\tconst resolvedTimezoneId = this._aliases.get(timezoneId)\n\t\t\t// can be a recursive alias:\n\t\t\treturn this._getTimezoneForIdRec(resolvedTimezoneId, level + 1)\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Checks if there is a timezone for the given id stored in this manager\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thasTimezoneForId(timezoneId) {\n\t\treturn this._timezones.has(timezoneId) || this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Checks if the given timezone id is an alias\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\tisAlias(timezoneId) {\n\t\treturn !this._timezones.has(timezoneId) && this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Lists all timezones\n\t *\n\t * @param {Boolean=} includeAliases Whether or not to include aliases\n\t * @returns {String[]}\n\t */\n\tlistAllTimezones(includeAliases = false) {\n\t\tconst timezones = Array.from(this._timezones.keys())\n\n\t\tif (includeAliases) {\n\t\t\treturn timezones.concat(Array.from(this._aliases.keys()))\n\t\t}\n\n\t\treturn timezones\n\t}\n\n\t/**\n\t * Registers a timezone\n\t *\n\t * @param {Timezone} timezone The timezone-object to register\n\t */\n\tregisterTimezone(timezone) {\n\t\tthis._timezones.set(timezone.timezoneId, timezone)\n\t}\n\n\tregisterDefaultTimezones() {\n\t\tconsole.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`)\n\n\t\tfor (const tzid in tzData.zones) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\t\tconst ics = [\n\t\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t\t'TZID:' + tzid,\n\t\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t\t'END:VTIMEZONE',\n\t\t\t\t].join('\\r\\n')\n\t\t\t\tthis.registerTimezoneFromICS(tzid, ics)\n\t\t\t}\n\t\t}\n\n\t\tfor (const tzid in tzData.aliases) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\t\tthis.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Registers a timezone based on ics data\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @param {String} ics The iCalendar timezone definition\n\t */\n\tregisterTimezoneFromICS(timezoneId, ics) {\n\t\tconst timezone = new Timezone(timezoneId, ics)\n\t\tthis.registerTimezone(timezone)\n\t}\n\n\t/**\n\t * Registers a new timezone-alias\n\t *\n\t * @param {String} aliasName The timezone-id of the alias\n\t * @param {String} timezoneId The timezone-id to resolve the alias to\n\t */\n\tregisterAlias(aliasName, timezoneId) {\n\t\tthis._aliases.set(aliasName, timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone\n\t *\n\t * @param {String} timezoneId Unregisters a timezone by Id\n\t */\n\tunregisterTimezones(timezoneId) {\n\t\tthis._timezones.delete(timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone-alias\n\t *\n\t * @param {String} aliasName The alias to unregister\n\t */\n\tunregisterAlias(aliasName) {\n\t\tthis._aliases.delete(aliasName)\n\t}\n\n\t/**\n\t * Clear all timezones\n \t */\n\tclearAllTimezones() {\n\t\tthis._aliases = new Map()\n\t\tthis._timezones = new Map()\n\n\t\ttimezoneManager.registerTimezone(Timezone.utc)\n\t\ttimezoneManager.registerTimezone(Timezone.floating)\n\t\ttimezoneManager.registerAlias('GMT', Timezone.utc.timezoneId)\n\t\ttimezoneManager.registerAlias('Z', Timezone.utc.timezoneId)\n\t}\n\n}\n\nconst timezoneManager = new TimezoneManager()\ntimezoneManager.clearAllTimezones()\n\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\nexport function getTimezoneManager() {\n\treturn timezoneManager\n}\n\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\nexport function isOlsonTimezone(tzName) {\n\tconst hasSlash = tzName.indexOf('/') !== -1\n\tconst hasSpace = tzName.indexOf(' ') !== -1\n\tconst startsWithETC = tzName.startsWith('Etc')\n\tconst startsWithUS = tzName.startsWith('US/')\n\n\treturn hasSlash && !hasSpace && !startsWithETC && !startsWithUS\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractParser from './abstractParser.js'\nimport CalendarComponent from '../components/calendarComponent.js'\nimport { getRepairSteps } from './repairsteps/icalendar'\nimport { uc } from '../helpers/stringHelper.js'\nimport { getConstructorForComponentName } from '../components/root'\nimport { getTimezoneManager } from '../timezones/timezoneManager.js'\nimport Timezone from '../timezones/timezone.js'\nimport RecurrenceManager from '../recurrence/recurrenceManager.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class ICalendarParser\n * @classdesc\n */\nexport default class ICalendarParser extends AbstractParser {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * The raw text/calendar data\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._rawData = null\n\n\t\t/**\n\t\t * The CalendarComponent representing the raw data\n\t\t *\n\t\t * @type {CalendarComponent}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarComponent = null\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vevents\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVEvents = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vjournals\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVJournals = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vtodos\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVTodos = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vfreebusy\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVFreeBusy = false\n\n\t\t/**\n\t\t * A map containing all VObjects.\n\t\t * The key of this map is the UID\n\t\t * The value an array of all VObjects with that particular UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._items = new Map()\n\n\t\t/**\n\t\t * Items that are no recurrence-exceptions\n\t\t * The key of this map is the UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._masterItems = new Map()\n\n\t\t/**\n\t\t * Items that are recurrence exceptions\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * Some recurrence-exceptions come without a master item\n\t\t * In that case we need to forge a master item\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._forgedMasterItems = new Map()\n\n\t\t/**\n\t\t * A list of timezone-components found in the calendar-data\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\n\t\t/**\n\t\t * A set of required timezones for each UID\n\t\t *\n\t\t * @type {Map<String, Set<String>>}\n\t\t * @private\n\t\t */\n\t\tthis._requiredTimezones = new Map()\n\n\t\t/**\n\t\t * Instance of the default timezone-manager\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._defaultTimezoneManager = getTimezoneManager()\n\t}\n\n\t/**\n\t * Parses the actual calendar-data\n\t *\n\t * @param {String} ics The icalendar data to parse\n\t */\n\tparse(ics) {\n\t\tthis._rawData = ics\n\n\t\tthis._applyRepairSteps()\n\n\t\t// If a timezone is not inside our TimezoneManager at the time of parsing\n\t\t// the internal zone will be marked as floating inside ICAL.Time\n\t\t// so before we start any actual parsing, we need to extract all timezones\n\t\t// and add them to the TimezoneManager\n\t\tthis._extractTimezones()\n\t\tthis._registerTimezones()\n\n\t\tthis._createCalendarComponent()\n\n\t\tif (this._getOption('extractGlobalProperties', false)) {\n\t\t\tthis._extractProperties()\n\t\t}\n\n\t\tthis._processVObjects()\n\n\t\tif (this._getOption('processFreeBusy', false)) {\n\t\t\tthis._processVFreeBusy()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t* getItemIterator() {\n\t\tfor (const itemList of this._items.values()) {\n\t\t\tconst calendarComp = CalendarComponent.fromEmpty()\n\n\t\t\tif (this._getOption('includeTimezones', false)) {\n\t\t\t\tthis._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid)\n\t\t\t}\n\n\t\t\t// Preserve the original product id, just in case we need special handling for certain clients later on ...\n\t\t\tif (this._calendarComponent.hasProperty('PRODID')) {\n\t\t\t\tcalendarComp.deleteAllProperties('PRODID')\n\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone())\n\t\t\t}\n\n\t\t\tif (this._getOption('preserveMethod', false)) {\n\t\t\t\tif (this._calendarComponent.hasProperty('METHOD')) {\n\t\t\t\t\tcalendarComp.deleteAllProperties('METHOD')\n\t\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone())\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const item of itemList) {\n\t\t\t\tcalendarComp.addComponent(item)\n\t\t\t}\n\n\t\t\tyield calendarComp\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVEvents() {\n\t\treturn this._containsVEvents\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVJournals() {\n\t\treturn this._containsVJournals\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVTodos() {\n\t\treturn this._containsVTodos\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn this._containsVFreeBusy\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tgetItemCount() {\n\t\treturn Array.from(this._items.keys()).length\n\t}\n\n\t/**\n\t * Applies all registered repair steps\n\t *\n\t * @private\n\t */\n\t_applyRepairSteps() {\n\t\tfor (const RepairStep of getRepairSteps()) {\n\t\t\tconst step = new RepairStep()\n\t\t\tthis._rawData = step.repair(this._rawData)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a calendar component based upon the repaired data\n\t *\n\t * @private\n\t */\n\t_createCalendarComponent() {\n\t\tconst jCal = ICAL.parse(this._rawData)\n\t\tconst icalComp = new ICAL.Component(jCal)\n\t\tthis._calendarComponent = CalendarComponent.fromICALJs(icalComp)\n\t}\n\n\t/**\n\t * extracts properties\n\t *\n\t * @protected\n\t */\n\t_extractProperties() {\n\t\tthis._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone')\n\t}\n\n\t/**\n\t * Extract a property and writes it into a class property\n\t * names must be an array, it will use the value of the fist\n\t * propertyname it can find\n\t *\n\t * @param {String[]} names The names of the properties to check\n\t * @param {String} variableName The variable name to save it under\n\t * @private\n\t */\n\t_extractPropertyAndPutResultIntoVariable(names, variableName) {\n\t\tfor (const name of names) {\n\t\t\tif (this._calendarComponent.hasProperty(name)) {\n\t\t\t\tthis[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Extracts timezones from the calendar component\n\t *\n\t * @protected\n\t */\n\t_extractTimezones() {\n\t\tconst matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm)\n\n\t\tif (!matches) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const match of matches) {\n\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\t\t\tif (!tzidMatcher) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst tzid = tzidMatcher[0].substr(5)\n\t\t\tconst timezone = new Timezone(tzid, match)\n\t\t\tthis._timezones.set(tzid, timezone)\n\t\t}\n\t}\n\n\t/**\n\t * Registers unknown timezones into our timezone-manager\n\t *\n\t * @protected\n\t */\n\t_registerTimezones() {\n\t\tfor (const [tzid, timezone] of this._timezones) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n\t\t\t\tthis._defaultTimezoneManager.registerTimezone(timezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Processes the parsed vobjects\n\t *\n\t * @protected\n\t */\n\t_processVObjects() {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\t\t\tif (vObject.isRecurrenceException()) {\n\t\t\t\tthis._addRecurrenceException(vObject)\n\t\t\t} else {\n\t\t\t\tvObject.recurrenceManager = new RecurrenceManager(vObject)\n\t\t\t\tthis._masterItems.set(vObject.uid, vObject)\n\t\t\t}\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._getOption('removeRSVPForAttendees', false)) {\n\t\t\t\tfor (const attendee of vObject.getAttendeeIterator()) {\n\t\t\t\t\tattendee.deleteParameter('RSVP')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n\t\t\tfor (const recurrenceException of recurrenceExceptionList) {\n\n\t\t\t\t// Check if there is a master item for this recurrence exception\n\t\t\t\t// otherwise we have to forge one\n\t\t\t\tif (!this._masterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst constructor = getConstructorForComponentName(recurrenceException.name)\n\t\t\t\t\tconst forgedMaster = new constructor(recurrenceException.name, [\n\t\t\t\t\t\t['UID', recurrenceException.uid],\n\t\t\t\t\t\t['DTSTAMP', recurrenceException.stampTime.clone()],\n\t\t\t\t\t\t['DTSTART', recurrenceException.recurrenceId.clone()],\n\t\t\t\t\t])\n\n\t\t\t\t\tforgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster)\n\n\t\t\t\t\tthis._forgedMasterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._masterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._addItem(forgedMaster)\n\t\t\t\t} else {\n\t\t\t\t\tconst master = this._masterItems.get(recurrenceException.uid)\n\n\t\t\t\t\t// This should usually not be the case,\n\t\t\t\t\t// only if the calendar-data is seriously broken.\n\t\t\t\t\t// Let's try to handle it anyway by adding it to\n\t\t\t\t\t// forgedMasterItems, we will simply add RDATEs\n\t\t\t\t\t// in the next step to make it recur\n\t\t\t\t\tif (!master.isRecurring()) {\n\t\t\t\t\t\tthis._forgedMasterItems.set(master.uid, master)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this._forgedMasterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst forgedMaster = this._forgedMasterItems.get(recurrenceException.uid)\n\t\t\t\t\tforgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone())\n\t\t\t\t}\n\n\t\t\t\tconst masterItem = this._masterItems.get(recurrenceException.uid)\n\t\t\t\tmasterItem.recurrenceManager.relateRecurrenceException(recurrenceException)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Process FreeBusy components\n\t *\n\t * @private\n\t */\n\t_processVFreeBusy() {\n\t\tfor (const vObject of this._calendarComponent.getFreebusyIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The recurrence-item to register\n\t * @private\n\t */\n\t_addRecurrenceException(item) {\n\t\tif (this._recurrenceExceptionItems.has(item.uid)) {\n\t\t\tconst arr = this._recurrenceExceptionItems.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._recurrenceExceptionItems.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The item to register\n\t * @private\n\t */\n\t_addItem(item) {\n\t\tif (this._items.has(item.uid)) {\n\t\t\tconst arr = this._items.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._items.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {String} uid The uid of the calendar-object\n\t * @param {String} timezoneId The timezoneId required by the object\n\t * @private\n\t */\n\t_addRequiredTimezone(uid, timezoneId) {\n\t\tif (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n\t\t\treturn\n\t\t}\n\n\t\tif (this._requiredTimezones.has(uid)) {\n\t\t\tthis._requiredTimezones.get(uid).add(timezoneId)\n\t\t} else {\n\t\t\tconst set = new Set([timezoneId])\n\t\t\tthis._requiredTimezones.set(uid, set)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n\t * @param {String} uid The UID of the calendar-object\n\t * @private\n\t */\n\t_addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n\t\tif (!this._requiredTimezones.has(uid)) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const requiredTimezone of this._requiredTimezones.get(uid)) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone)\n\t\t\t// Is this an alias?\n\t\t\tif (timezone.timezoneId !== requiredTimezone) {\n\t\t\t\tthis._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId)\n\t\t\t}\n\n\t\t\tconst timezoneComponent = timezone.toTimezoneComponent()\n\t\t\tcalendarComp.addComponent(timezoneComponent)\n\t\t}\n\t}\n\n\t/**\n\t * Replaces all occurrences of searchTimezone with replaceTimezone\n\t *\n\t * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n\t * @param {String} searchTimezone The timezone to replace\n\t * @param {String} replaceTimezone The replacement timezone\n\t * @private\n\t */\n\t_replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks a certain component type as seen.\n\t * This is used for\n\t * containsVEvents()\n\t * containsVJournals()\n\t * containsVTodos()\n\t *\n\t * @param {String} compName The name of the visited component\n\t * @private\n\t */\n\t_markCompTypeAsSeen(compName) {\n\t\tswitch (uc(compName)) {\n\t\tcase 'VEVENT':\n\t\t\tthis._containsVEvents = true\n\t\t\tbreak\n\n\t\tcase 'VJOURNAL':\n\t\t\tthis._containsVJournals = true\n\t\t\tbreak\n\n\t\tcase 'VTODO':\n\t\t\tthis._containsVTodos = true\n\t\t\tbreak\n\n\t\tcase 'VFREEBUSY':\n\t\t\tthis._containsVFreeBusy = true\n\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic getMimeTypes() {\n\t\treturn ['text/calendar']\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarAddMissingUIDRepairStep from './icalendarAddMissingUIDRepairStep.js'\nimport ICalendarAddMissingValueDateDoubleColonRepairStep from './icalendarAddMissingValueDateDoubleColonRepairStep.js'\nimport ICalendarAddMissingValueDateRepairStep from './icalendarAddMissingValueDateRepairStep.js'\nimport ICalendarEmptyTriggerRepairStep from './icalendarEmptyTriggerRepairStep.js'\nimport ICalendarIllegalCreatedRepairStep from './icalendarIllegalCreatedRepairStep.js'\nimport ICalendarMultipleVCalendarBlocksRepairStep from './icalendarMultipleVCalendarBlocksRepairStep.js'\nimport ICalendarRemoveXNCGroupIdRepairStep from './icalendarRemoveXNCGroupIdRepairStep.js'\n\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\nexport function * getRepairSteps() {\n\tyield ICalendarAddMissingUIDRepairStep\n\tyield ICalendarAddMissingValueDateDoubleColonRepairStep\n\tyield ICalendarAddMissingValueDateRepairStep\n\tyield ICalendarEmptyTriggerRepairStep\n\tyield ICalendarIllegalCreatedRepairStep\n\tyield ICalendarMultipleVCalendarBlocksRepairStep\n\tyield ICalendarRemoveXNCGroupIdRepairStep\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarParser from './icalendarParser.js'\n\n/**\n * @class ParserManager\n * @classdesc\n */\nexport default class ParserManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\n\t\t/**\n\t\t * List of supported parsers\n\t\t *\n\t\t * @type {Function[]}\n\t\t */\n\t\tthis._parsers = []\n\t}\n\n\t/**\n\t * Get a list of all supported file-types\n\t *\n\t * @returns {String[]}\n\t */\n\tgetAllSupportedFileTypes() {\n\t\treturn this._parsers.reduce(\n\t\t\t(allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()),\n\t\t\t[])\n\t}\n\n\t/**\n\t * Get an instance of a parser for one specific file-type\n\t *\n\t * @param {String} fileType The mime-type to get a parser for\n\t * @param {Object=} options Options destructuring object\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t *\n\t * @returns {AbstractParser}\n\t */\n\tgetParserForFileType(fileType, options) {\n\t\tconst Parser = this._parsers.find(\n\t\t\t(parser) => parser.getMimeTypes().includes(fileType))\n\n\t\tif (!Parser) {\n\t\t\tthrow new TypeError('Unknown file-type.')\n\t\t}\n\n\t\treturn new Parser(options)\n\t}\n\n\t/**\n\t * Registers a parser\n\t *\n\t * @param {Function} parser The parser to register\n\t */\n\tregisterParser(parser) {\n\t\tthis._parsers.push(parser)\n\t}\n\n}\n\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\nexport function getParserManager() {\n\tconst parserManager = new ParserManager()\n\n\t// We only support iCalendar for now.\n\t// JSON calendar and CSV will be supported soon,\n\t// but require some more work\n\n\tparserManager.registerParser(ICalendarParser)\n\t// parserManager.registerParser(JCalendarParser)\n\t// parserManager.registerParser(CSVParser)\n\n\treturn parserManager\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nexport default class TimezoneAdapter {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n\t */\n\tconstructor(timezoneManager) {\n\n\t\t/**\n\t\t * TimezoneManager object\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneManager = timezoneManager\n\t}\n\n\t/**\n\t * @param {string} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thas(timezoneId) {\n\t\treturn this._timezoneManager.hasTimezoneForId(timezoneId)\n\t}\n\n\t/**\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {ICAL.Timezone|undefined}\n\t */\n\tget(timezoneId) {\n\t\tconst timezone = this._timezoneManager.getTimezoneForId(timezoneId)\n\t\tif (!timezone) {\n\t\t\treturn undefined\n\t\t}\n\n\t\treturn timezone.toICALTimezone()\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tregister() {\n\t\tthrow new TypeError('Not allowed to register new timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tremove() {\n\t\tthrow new TypeError('Not allowed to remove timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\treset() {\n\t\tthrow new TypeError('Not allowed to reset TimezoneService')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getParserManager } from './parsers/parserManager.js'\nimport TimezoneAdapter from './timezones/timezoneAdapter.js'\nimport { getTimezoneManager } from './timezones/timezoneManager.js'\nimport { v4 as uuid } from 'uuid'\nimport DateTimeValue from './values/dateTimeValue.js'\nimport { dateFactory } from './factories/dateFactory.js'\nimport CalendarComponent from './components/calendarComponent.js'\nimport EventComponent from './components/root/eventComponent.js'\nimport RecurrenceManager from './recurrence/recurrenceManager.js'\nimport FreeBusyComponent from './components/root/freeBusyComponent.js'\nimport ICAL from 'ical.js'\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n\tICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager())\n}\n\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\nexport function * parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n\tconst parserManager = getParserManager()\n\tconst icsParser = parserManager.getParserForFileType('text/calendar')\n\ticsParser.parse(ics)\n\n\tconst objectIterator = icsParser.getItemIterator()\n\tconst calendarComp = objectIterator.next().value\n\tif (calendarComp === undefined) {\n\t\treturn\n\t}\n\n\tconst vObjectIterator = calendarComp.getVObjectIterator()\n\tconst firstVObject = vObjectIterator.next().value\n\tif (firstVObject === undefined) {\n\t\treturn\n\t}\n\n\tyield * firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end)\n}\n\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\nexport function createEvent(start, end) {\n\tconst calendar = CalendarComponent.fromEmpty()\n\tconst eventComponent = new EventComponent('VEVENT')\n\n\teventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('SEQUENCE', 0)\n\teventComponent.updatePropertyWithValue('UID', uuid())\n\teventComponent.updatePropertyWithValue('DTSTART', start)\n\teventComponent.updatePropertyWithValue('DTEND', end)\n\n\tcalendar.addComponent(eventComponent)\n\teventComponent.recurrenceManager = new RecurrenceManager(eventComponent)\n\n\treturn calendar\n}\n\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\nexport function createFreeBusyRequest(start, end, organizer, attendees) {\n\tconst calendar = CalendarComponent.fromMethod('REQUEST')\n\tconst freeBusyComponent = new FreeBusyComponent('VFREEBUSY')\n\n\tfreeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\tfreeBusyComponent.updatePropertyWithValue('UID', uuid())\n\tfreeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC())\n\tfreeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC())\n\tfreeBusyComponent.addProperty(organizer.clone())\n\n\tfor (const attendee of attendees) {\n\t\tconst clonedAttendee = attendee.clone()\n\t\tclonedAttendee.deleteParameter('ROLE')\n\t\tclonedAttendee.deleteParameter('CUTYPE')\n\t\tclonedAttendee.deleteParameter('RSVP')\n\t\tclonedAttendee.deleteParameter('PARTSTAT')\n\t\tclonedAttendee.deleteParameter('REQUEST-STATUS')\n\t\tclonedAttendee.deleteParameter('LANGUAGE')\n\n\t\tfreeBusyComponent.addProperty(clonedAttendee)\n\t}\n\n\tcalendar.addComponent(freeBusyComponent)\n\treturn calendar\n}\n\nexport { setConfig } from './config.js'\nexport { getParserManager }\nexport { getTimezoneManager, isOlsonTimezone } from './timezones/timezoneManager.js'\n","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(date.getTimezoneOffset(), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(date.getTimezoneOffset());\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\n\nfunction format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}\n\nexport default format;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport default function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var utcDate = createUTCDate.apply(void 0, _toConsumableArray(getFullInputArray(inputArray, backupDate)));\n var offsetMilliseconds = (offset === undefined ? utcDate.getTimezoneOffset() : offset) * 60 * 1000;\n var parsedDate = new Date(utcDate.getTime() + offsetMilliseconds); // check weekday\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type,\n attrs: {\n \"type\": \"button\"\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$1, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffMonth) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year, month + diffMonth);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-12), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(12), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\"\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\"\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$2, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$3, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-10), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(10), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$4, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n if (this.type !== 'month') {\n return this.calendarMonth === month ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n if (this.type !== 'year') {\n return this.calendarYear === year ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$5, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$4, {\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$5, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$6, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$7, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$8,\n ListOptions: __vue_component__$9\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n computed: {\n innerValue: function innerValue() {\n return getValidDate(this.value, this.defaultValue);\n },\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabled: function isDisabled(date) {\n return this.disabledTime(new Date(date));\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value)) {\n this.$emit('select', date, type);\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$8, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$a.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$a.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$a.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$a, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$a,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n this.afterEmitValue(type);\n return value;\n },\n afterEmitValue: function afterEmitValue(type) {\n // this.type === 'datetime', click the time should close popup\n if (!type || type === this.type || type === 'time') {\n this.closePopup();\n }\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, this.validMultipleType ? \"multiple-\".concat(type) : type);\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$2))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', h(__vue_component__$1))])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$a,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n"],"sourceRoot":""} \ No newline at end of file