{"version":3,"file":"files_sharing-init.js?v=1ac2f2aa1193620a2fe0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/restoreShareAction.ts","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack://nextcloud/./apps/files_sharing/src/actions/sharingStatusAction.scss?3ea7","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/utils/AccountIcon.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","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/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (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((key) => (__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};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","import { Folder, File, Permission } from '@nextcloud/files';\nimport { generateOcsUrl, generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nconst headers = {\n 'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = async function (ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n ocsEntry.item_type = ocsEntry.type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = generateRemoteUrl(`dav/${rootPath}/${path}`.replaceAll(/\\/\\//gm, '/'));\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: rootPath,\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n};\nconst getShares = function (shared_with_me = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me,\n include_tags: true,\n },\n });\n};\nconst getSharedWithYou = function () {\n return getShares(true);\n};\nconst getSharedWithOthers = function () {\n return getShares();\n};\nconst getRemoteShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getPendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getRemotePendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getDeletedShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nconst groupBy = function (nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: generateRemoteUrl('dav' + rootPath),\n owner: getCurrentUser()?.uid || null,\n }),\n contents,\n };\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport AccountClockSvg from '@mdi/svg/svg/account-clock.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/delete.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getContents } from '../services/SharingService';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: sharesViewId,\n name: t('files_sharing', 'Shares'),\n caption: t('files_sharing', 'Overview of shared files.'),\n emptyTitle: t('files_sharing', 'No shares'),\n emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n icon: AccountPlusSvg,\n order: 20,\n columns: [],\n getContents: () => getContents(),\n }));\n Navigation.register(new View({\n id: sharedWithYouViewId,\n name: t('files_sharing', 'Shared with you'),\n caption: t('files_sharing', 'List of files that are shared with you.'),\n emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n icon: AccountSvg,\n order: 1,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(true, false, false, false),\n }));\n Navigation.register(new View({\n id: sharedWithOthersViewId,\n name: t('files_sharing', 'Shared with others'),\n caption: t('files_sharing', 'List of files that you shared with others.'),\n emptyTitle: t('files_sharing', 'Nothing shared yet'),\n emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n icon: AccountGroupSvg,\n order: 2,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false),\n }));\n Navigation.register(new View({\n id: sharingByLinksViewId,\n name: t('files_sharing', 'Shared by link'),\n caption: t('files_sharing', 'List of files that are shared by link.'),\n emptyTitle: t('files_sharing', 'No shared links'),\n emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n icon: LinkSvg,\n order: 3,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [window.OC.Share.SHARE_TYPE_LINK]),\n }));\n Navigation.register(new View({\n id: deletedSharesViewId,\n name: t('files_sharing', 'Deleted shares'),\n caption: t('files_sharing', 'List of shares you left.'),\n emptyTitle: t('files_sharing', 'No deleted shares'),\n emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n icon: DeleteSvg,\n order: 4,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, false, true),\n }));\n Navigation.register(new View({\n id: pendingSharesViewId,\n name: t('files_sharing', 'Pending shares'),\n caption: t('files_sharing', 'List of unapproved shares.'),\n emptyTitle: t('files_sharing', 'No pending shares'),\n emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n icon: AccountClockSvg,\n order: 5,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, true, false),\n }));\n};\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'accept-share',\n displayName: (nodes) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n iconSvgInline: () => CheckSvg,\n enabled: (nodes, view) => nodes.length > 0 && view.id === pendingSharesViewId,\n async exec(node) {\n try {\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.attributes.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 1,\n inline: () => true,\n});\nregisterFileAction(action);\n","import { registerFileAction, FileAction, DefaultType, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharesViewId, sharedWithYouViewId, sharedWithOthersViewId, sharingByLinksViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'open-in-files',\n displayName: () => t('files', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: (nodes, view) => [\n sharesViewId,\n sharedWithYouViewId,\n sharedWithOthersViewId,\n sharingByLinksViewId,\n // Deleted and pending shares are not\n // accessible in the files app.\n ].includes(view.id),\n async exec(node) {\n const isFolder = node.type === FileType.Folder;\n window.OCP.Files.Router.goToRoute(null, // use default route\n {\n view: 'files',\n fileid: String(node.fileid),\n }, {\n // If this node is a folder open the folder in files\n dir: isFolder ? node.path : node.dirname,\n // otherwise if this is a file, we should open it\n openfile: isFolder ? undefined : 'true',\n });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'reject-share',\n displayName: (nodes) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n iconSvgInline: () => CloseSvg,\n enabled: (nodes, view) => {\n if (view.id !== pendingSharesViewId) {\n return false;\n }\n if (nodes.length === 0) {\n return false;\n }\n // disable rejecting group shares from the pending list because they anyway\n // land back into that same list after rejecting them\n if (nodes.some(node => node.attributes.remote_id\n && node.attributes.share_type === window.OC.Share.SHARE_TYPE_REMOTE_GROUP)) {\n return false;\n }\n return true;\n },\n async exec(node) {\n try {\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.attributes.id,\n });\n await axios.delete(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 2,\n inline: () => true,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { FileAction, registerFileAction } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { deletedSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'restore-share',\n displayName: (nodes) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n iconSvgInline: () => ArrowULeftTopSvg,\n enabled: (nodes, view) => nodes.length > 0 && view.id === deletedSharesViewId,\n async exec(node) {\n try {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n id: node.attributes.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 1,\n inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nimport { Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","\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/sass-loader/dist/cjs.js!./sharingStatusAction.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/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nimport { Node, View, registerFileAction, FileAction, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Type } from '@nextcloud/sharing';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { action as sidebarAction } from '../../../files/src/actions/sidebarAction';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { generateAvatarSvg } from '../utils/AccountIcon.ts';\nimport './sharingStatusAction.scss';\nconst isExternal = (node) => {\n return node.attributes.remote_id !== undefined;\n};\nexport const action = new FileAction({\n id: 'sharing-status',\n displayName(nodes) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n if (shareTypes.length > 0\n || (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return t('files_sharing', 'Shared');\n }\n return '';\n },\n title(nodes) {\n const node = nodes[0];\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return t('files_sharing', 'Shared multiple times with different people');\n }\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n const ownerDisplayName = node?.attributes?.['owner-display-name'];\n return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n }\n return t('files_sharing', 'Show sharing options');\n },\n iconSvgInline(nodes) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return AccountPlusSvg;\n }\n // Link shares\n if (shareTypes.includes(Type.SHARE_TYPE_LINK)\n || shareTypes.includes(Type.SHARE_TYPE_EMAIL)) {\n return LinkSvg;\n }\n // Group shares\n if (shareTypes.includes(Type.SHARE_TYPE_GROUP)\n || shareTypes.includes(Type.SHARE_TYPE_REMOTE_GROUP)) {\n return AccountGroupSvg;\n }\n // Circle shares\n if (shareTypes.includes(Type.SHARE_TYPE_CIRCLE)) {\n return CircleSvg;\n }\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n const sanitizeId = (id) => id.replace(/[^a-zA-Z0-9._%+@-]+/g, '').replace(/\\//g, '');\n return generateAvatarSvg(sanitizeId(node.owner), isExternal(node));\n }\n return AccountPlusSvg;\n },\n enabled(nodes) {\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n const shareTypes = node.attributes?.['share-types'];\n const isMixed = Array.isArray(shareTypes) && shareTypes.length > 0;\n // If the node is shared multiple times with\n // different share types to the current user\n if (isMixed) {\n return true;\n }\n // If the node is shared by someone else\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return true;\n }\n return (node.permissions & Permission.SHARE) !== 0;\n },\n async exec(node, view, dir) {\n // You need read permissions to see the sidebar\n if ((node.permissions & Permission.READ) !== 0) {\n window.OCA?.Files?.Sidebar?.setActiveTab?.('sharing');\n return sidebarAction.exec(node, view, dir);\n }\n return null;\n },\n inline: () => true,\n});\nregisterFileAction(action);\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router';\nconst isDarkMode = () => {\n return window?.matchMedia?.('(prefers-color-scheme: dark)')?.matches === true\n || document.querySelector('[data-themes*=dark]') !== null;\n};\nexport const generateAvatarSvg = (userId, isGuest = false) => {\n // normal avatar url: /avatar/{userId}/32?guestFallback=true\n // dark avatar url: /avatar/{userId}/32/dark?guestFallback=true\n // guest avatar url: /avatar/guest/{userId}/32\n // guest dark avatar url: /avatar/guest/{userId}/32/dark\n const basePath = isGuest ? `/avatar/guest/${userId}` : `/avatar/${userId}`;\n const darkModePath = isDarkMode() ? '/dark' : '';\n const guestFallback = isGuest ? '' : '?guestFallback=true';\n const url = `${basePath}/32${darkModePath}${guestFallback}`;\n const avatarUrl = generateUrl(url, { userId });\n return `\n\t\t\n\t`;\n};\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \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 .\n *\n */\nimport { registerDavProperty } from '@nextcloud/files';\nimport registerSharingViews from './views/shares';\nimport './actions/acceptShareAction';\nimport './actions/openInFilesAction';\nimport './actions/rejectShareAction';\nimport './actions/restoreShareAction';\nimport './actions/sharingStatusAction';\nregisterSharingViews();\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\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, `.action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAsBA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"/**\\n * @copyright Copyright (c) 2023 John Molakvoæ \\n *\\n * @author John Molakvoæ \\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 .\\n *\\n */\\n // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// put icon at the end of the button\\n\\tdirection: rtl;\\n\\t// align icons with textless inline actions\\n padding-right: 0 !important;\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: 32px !important;\\n\\twidth: 32px !important;\\n\\tmax-height: 32px !important;\\n\\tmax-width: 32px !important;\\n\\tborder-radius: 32px;\\n\\toverflow: hidden;\\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + \"6797210df0f1d53f94c4\" + \"\";\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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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 = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__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\t5928: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (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((id) => (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));","__webpack_require__.nc = undefined;","// 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, [4208], () => (__webpack_require__(70370)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","getLoggerBuilder","setApp","detectUser","build","rootPath","concat","_getCurrentUser","getCurrentUser","uid","headers","ocsEntryToNode","async","ocsEntry","_ocsEntry$tags","undefined","remote_id","mimetype","mime","default","getType","name","item_type","type","item_mtime","mtime","file_target","mountpoint","item_permissions","Permission","NONE","permissions","uid_owner","owner","displayname_owner","isFolder","hasPreview","has_preview","Node","Folder","File","fileid","file_source","file_id","id","path","source","generateRemoteUrl","replaceAll","Date","stime","size","item_size","root","attributes","share_type","favorite","tags","includes","window","OC","TAG_FAVORITE","error","logger","getShares","shared_with_me","arguments","length","url","generateOcsUrl","axios","get","params","include_tags","getContents","_getCurrentUser2","sharedWithOthers","pendingShares","deletedshares","filterTypes","promises","push","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","data","Promise","all","map","response","ocs","flat","contents","filter","node","nodes","key","_node$attributes","Object","values","reduce","acc","curr","folder","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","action","FileAction","displayName","n","iconSvgInline","enabled","view","exec","isRemote","remote","shareBase","post","emit","execBatch","dir","this","order","inline","registerFileAction","t","FileType","OCP","Files","Router","goToRoute","String","dirname","openfile","DefaultType","HIDDEN","some","Share","SHARE_TYPE_REMOTE_GROUP","delete","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","startsWith","open","query","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","isExternal","title","_node$attributes2","_node$attributes3","Array","isArray","_node$attributes4","ownerDisplayName","_node$attributes5","_node$attributes6","_node$attributes7","_getCurrentUser3","shareTypes","AccountPlusSvg","Type","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","LinkSvg","SHARE_TYPE_GROUP","AccountGroupSvg","SHARE_TYPE_CIRCLE","userId","isGuest","basePath","darkModePath","_window$matchMedia","matchMedia","call","matches","document","querySelector","isDarkMode","guestFallback","avatarUrl","generateUrl","generateAvatarSvg","replace","_node$attributes8","_getCurrentUser4","SHARE","_window$OCA","_window$OCA$setActive","READ","setActiveTab","sidebarAction","Navigation","getNavigation","register","View","caption","emptyTitle","emptyCaption","icon","columns","parent","registerSharingViews","registerDavProperty","nc","oc","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}