summaryrefslogtreecommitdiffstats
path: root/src/json/utf.c
blob: b026308126e655aa860efefbfa9a2a5262e07f46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*
 * Copyright (c) 2009 Petri Lehtinen <petri@digip.org>
 *
 * Jansson is free software; you can redistribute it and/or modify
 * it under the terms of the MIT license. See LICENSE for details.
 */

#include "../config.h"

int
utf8_encode (int codepoint, char *buffer, int *size)
{
	if (codepoint < 0)
		return -1;
	else if (codepoint < 0x80) {
		buffer[0] = (char)codepoint;
		*size = 1;
	}
	else if (codepoint < 0x800) {
		buffer[0] = 0xC0 + ((codepoint & 0x7C0) >> 6);
		buffer[1] = 0x80 + ((codepoint & 0x03F));
		*size = 2;
	}
	else if (codepoint < 0x10000) {
		buffer[0] = 0xE0 + ((codepoint & 0xF000) >> 12);
		buffer[1] = 0x80 + ((codepoint & 0x0FC0) >> 6);
		buffer[2] = 0x80 + ((codepoint & 0x003F));
		*size = 3;
	}
	else if (codepoint <= 0x10FFFF) {
		buffer[0] = 0xF0 + ((codepoint & 0x1C0000) >> 18);
		buffer[1] = 0x80 + ((codepoint & 0x03F000) >> 12);
		buffer[2] = 0x80 + ((codepoint & 0x000FC0) >> 6);
		buffer[3] = 0x80 + ((codepoint & 0x00003F));
		*size = 4;
	}
	else
		return -1;

	return 0;
}

int
utf8_check_first (char byte)
{
	unsigned char                   u = (unsigned char)byte;

	if (u < 0x80)
		return 1;

	if (0x80 <= u && u <= 0xBF) {
		/* second, third or fourth byte of a multi-byte
		   sequence, i.e. a "continuation byte" */
		return 0;
	}
	else if (u == 0xC0 || u == 0xC1) {
		/* overlong encoding of an ASCII byte */
		return 0;
	}
	else if (0xC2 <= u && u <= 0xDF) {
		/* 2-byte sequence */
		return 2;
	}

	else if (0xE0 <= u && u <= 0xEF) {
		/* 3-byte sequence */
		return 3;
	}
	else if (0xF0 <= u && u <= 0xF4) {
		/* 4-byte sequence */
		return 4;
	}
	else {						/* u >= 0xF5 */
		/* Restricted (start of 4-, 5- or 6-byte sequence) or invalid
		   UTF-8 */
		return 0;
	}
}

int
utf8_check_full (const char *buffer, int size)
{
	int                             i, value = 0;
	unsigned char                   u = (unsigned char)buffer[0];

	if (size == 2) {
		value = u & 0x1F;
	}
	else if (size == 3) {
		value = u & 0xF;
	}
	else if (size == 4) {
		value = u & 0x7;
	}
	else
		return 0;

	for (i = 1; i < size; i++) {
		u = (unsigned char)buffer[i];

		if (u < 0x80 || u > 0xBF) {
			/* not a continuation byte */
			return 0;
		}

		value = (value << 6) + (u & 0x3F);
	}

	if (value > 0x10FFFF) {
		/* not in Unicode range */
		return 0;
	}

	else if (0xD800 <= value && value <= 0xDFFF) {
		/* invalid code point (UTF-16 surrogate halves) */
		return 0;
	}

	else if ((size == 2 && value < 0x80) || (size == 3 && value < 0x800) || (size == 4 && value < 0x10000)) {
		/* overlong encoding */
		return 0;
	}

	return 1;
}

int
utf8_check_string (const char *string, int length)
{
	int                             i;

	if (length == -1)
		length = strlen (string);

	for (i = 0; i < length; i++) {
		int                             count = utf8_check_first (string[i]);
		if (count == 0)
			return 0;
		else if (count > 1) {
			if (i + count > length)
				return 0;

			if (!utf8_check_full (&string[i], count))
				return 0;

			i += count - 1;
		}
	}

	return 1;
}
value='backport/48839/stable30'>backport/48839/stable30 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/dist/settings-vue-settings-admin-delegation.js.map
blob: 1b1562803182cf695b75d2402538e15c967d6e2c (plain)
1
{"version":3,"file":"settings-vue-settings-admin-delegation.js?v=edab7f6f47914e7850be","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/components/AdminDelegation/GroupSelect.vue","webpack:///nextcloud/apps/settings/src/components/AdminDelegation/GroupSelect.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/AdminDelegation/GroupSelect.vue?4c86","webpack://nextcloud/./apps/settings/src/components/AdminDelegation/GroupSelect.vue?b891","webpack:///nextcloud/apps/settings/src/components/AdminDelegation/GroupSelect.vue?vue&type=template&id=50ff2164&","webpack:///nextcloud/apps/settings/src/components/AdminDelegating.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AdminDelegating.vue","webpack://nextcloud/./apps/settings/src/components/AdminDelegating.vue?fc9d","webpack:///nextcloud/apps/settings/src/components/AdminDelegating.vue?vue&type=template&id=ae9ce460&","webpack:///nextcloud/apps/settings/src/main-admin-delegation.js","webpack:///nextcloud/apps/settings/src/components/AdminDelegation/GroupSelect.vue?vue&type=style&index=0&lang=scss&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received 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 { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","<template>\n\t<Multiselect v-model=\"selected\"\n\t\tclass=\"group-multiselect\"\n\t\t:placeholder=\"t('settings', 'None')\"\n\t\ttrack-by=\"gid\"\n\t\tlabel=\"displayName\"\n\t\t:options=\"availableGroups\"\n\t\topen-direction=\"bottom\"\n\t\t:multiple=\"true\"\n\t\t:allow-empty=\"true\" />\n</template>\n\n<script>\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\nimport { generateUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport logger from '../../logger'\n\nexport default {\n\tname: 'GroupSelect',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tprops: {\n\t\tavailableGroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsetting: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tauthorizedGroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselected: this.authorizedGroups\n\t\t\t\t.filter((group) => group.class === this.setting.class)\n\t\t\t\t.map((groupToMap) => this.availableGroups.find((group) => group.gid === groupToMap.group_id))\n\t\t\t\t.filter((group) => group !== undefined),\n\t\t}\n\t},\n\twatch: {\n\t\tselected() {\n\t\t\tthis.saveGroups()\n\t\t},\n\t},\n\tmethods: {\n\t\tasync saveGroups() {\n\t\t\tconst data = {\n\t\t\t\tnewGroups: this.selected,\n\t\t\t\tclass: this.setting.class,\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait axios.post(generateUrl('/apps/settings/') + '/settings/authorizedgroups/saveSettings', data)\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Unable to modify setting'))\n\t\t\t\tlogger.error('Unable to modify setting', e)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.group-multiselect {\n\twidth: 100%;\n\tmargin-right: 0;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupSelect.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!./GroupSelect.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport 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!./GroupSelect.vue?vue&type=style&index=0&lang=scss&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./GroupSelect.vue?vue&type=style&index=0&lang=scss&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupSelect.vue?vue&type=template&id=50ff2164&\"\nimport script from \"./GroupSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupSelect.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',{staticClass:\"group-multiselect\",attrs:{\"placeholder\":_vm.t('settings', 'None'),\"track-by\":\"gid\",\"label\":\"displayName\",\"options\":_vm.availableGroups,\"open-direction\":\"bottom\",\"multiple\":true,\"allow-empty\":true},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminDelegating.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!./AdminDelegating.vue?vue&type=script&lang=js&\"","<template>\n\t<div id=\"admin-right-sub-granting\" class=\"section\">\n\t\t<h2>{{ t('settings', 'Administration privileges') }}</h2>\n\t\t<p class=\"settings-hint\">\n\t\t\t{{ t('settings', 'Here you can decide which group can access certain sections of the administration settings.') }}\n\t\t</p>\n\n\t\t<div class=\"setting-list\">\n\t\t\t<div v-for=\"setting in availableSettings\" :key=\"setting.class\">\n\t\t\t\t<h3>{{ setting.sectionName }}</h3>\n\t\t\t\t<GroupSelect :available-groups=\"availableGroups\" :authorized-groups=\"authorizedGroups\" :setting=\"setting\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport GroupSelect from './AdminDelegation/GroupSelect'\nimport { loadState } from '@nextcloud/initial-state'\n\nexport default {\n\tname: 'AdminDelegating',\n\tcomponents: {\n\t\tGroupSelect,\n\t},\n\tdata() {\n\t\tconst availableSettings = loadState('settings', 'available-settings')\n\t\tconst availableGroups = loadState('settings', 'available-groups')\n\t\tconst authorizedGroups = loadState('settings', 'authorized-groups')\n\t\treturn {\n\t\t\tavailableSettings,\n\t\t\tavailableGroups,\n\t\t\tauthorizedGroups,\n\t\t}\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./AdminDelegating.vue?vue&type=template&id=ae9ce460&\"\nimport script from \"./AdminDelegating.vue?vue&type=script&lang=js&\"\nexport * from \"./AdminDelegating.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',{staticClass:\"section\",attrs:{\"id\":\"admin-right-sub-granting\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Administration privileges')))]),_vm._v(\" \"),_c('p',{staticClass:\"settings-hint\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Here you can decide which group can access certain sections of the administration settings.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"setting-list\"},_vm._l((_vm.availableSettings),function(setting){return _c('div',{key:setting.class},[_c('h3',[_vm._v(_vm._s(setting.sectionName))]),_vm._v(\" \"),_c('GroupSelect',{attrs:{\"available-groups\":_vm.availableGroups,\"authorized-groups\":_vm.authorizedGroups,\"setting\":setting}})],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2021 Carl Schwan <carl@carlschwan.eu>\n *\n * @author Carl Schwan <carl@carlschwan.eu>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received 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 App from './components/AdminDelegating.vue'\n\n// bind to window\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst accessibility = new View()\naccessibility.$mount('#admin-right-sub-granting')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, \".group-multiselect{width:100%;margin-right:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AdminDelegation/GroupSelect.vue\"],\"names\":[],\"mappings\":\"AAqEA,mBACC,UAAA,CACA,cAAA\",\"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.group-multiselect {\\n\\twidth: 100%;\\n\\tmargin-right: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6638;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6638: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(48713); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","getLoggerBuilder","setApp","detectUser","build","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_self","_c","staticClass","attrs","t","availableGroups","model","value","callback","$$v","selected","expression","_v","_s","_l","setting","key","class","sectionName","authorizedGroups","Vue","OC","App","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}