ђˆ 2тЫАћ"Z0Нћˆ]Щdevtools_devtools_0@1MsEdgeDevToolsSymCacheМ2(Z2  MsEdgeDevToolsSymCache2џџџџџџџ ^qџїб 2symcache2222222Шsymcache2џџџџџџў  2џџџџџџ§  22џџџџџџќ  22џџџџџџћ  22џџџџџџњ  22џџџџџџљ  22џџџџџџј  22џџџџџџї  22џџџџџџі  22џџџџџџѕ ШsymcacheisХ0ђ 2dkeydd keyd2џџџџџџє 22џџџџџџѓ  d2џџџџџџђ  d2џџџџџџё  d2џџџџџџ№  dєžƒ)2Qwebpack:///nextcloud/webpack/runtime/compat get default export" { if(chunkIds) { priority = priority || 0; for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; deferred[i] = [chunkIds, fn, priority]; return; } var notFulfilled = Infinity; for (var i = 0; i < deferred.length; i++) { var chunkIds = deferred[i][0]; var fn = deferred[i][1]; var priority = deferred[i][2]; var fulfilled = true; for (var j = 0; j < chunkIds.length; j++) { if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { chunkIds.splice(j--, 1); } else { fulfilled = false; if(priority < notFulfilled) notFulfilled = priority; } } if(fulfilled) { deferred.splice(i--, 1) var r = fn(); if (r !== undefined) result = r; } } return result; };"ЅС/** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-or-later */ /* eslint-disable */ import escapeHTML from 'escape-html' /* global dav */ (function(OC, FileInfo) { /** * @class OC.Files.Client * @classdesc Client to access files on the server * * @param {Object} options * @param {String} options.host host name * @param {number} [options.port] port * @param {boolean} [options.useHTTPS] whether to use https * @param {String} [options.root] root path * @param {String} [options.userName] user name * @param {String} [options.password] password * * @since 8.2 */ var Client = function(options) { this._root = options.root if (this._root.charAt(this._root.length - 1) === '/') { this._root = this._root.substr(0, this._root.length - 1) } let url = Client.PROTOCOL_HTTP + '://' if (options.useHTTPS) { url = Client.PROTOCOL_HTTPS + '://' } url += options.host + this._root this._host = options.host this._defaultHeaders = options.defaultHeaders || { 'X-Requested-With': 'XMLHttpRequest', 'requesttoken': OC.requestToken, } this._baseUrl = url const clientOptions = { baseUrl: this._baseUrl, xmlNamespaces: { 'DAV:': 'd', 'http://owncloud.org/ns': 'oc', 'http://nextcloud.org/ns': 'nc', 'http://open-collaboration-services.org/ns': 'ocs', }, } if (options.userName) { clientOptions.userName = options.userName } if (options.password) { clientOptions.password = options.password } this._client = new dav.Client(clientOptions) this._client.xhrProvider = _.bind(this._xhrProvider, this) this._fileInfoParsers = [] } Client.NS_OWNCLOUD = 'http://owncloud.org/ns' Client.NS_NEXTCLOUD = 'http://nextcloud.org/ns' Client.NS_DAV = 'DAV:' Client.NS_OCS = 'http://open-collaboration-services.org/ns' Client.PROPERTY_GETLASTMODIFIED = '{' + Client.NS_DAV + '}getlastmodified' Client.PROPERTY_GETETAG = '{' + Client.NS_DAV + '}getetag' Client.PROPERTY_GETCONTENTTYPE = '{' + Client.NS_DAV + '}getcontenttype' Client.PROPERTY_RESOURCETYPE = '{' + Client.NS_DAV + '}resourcetype' Client.PROPERTY_INTERNAL_FILEID = '{' + Client.NS_OWNCLOUD + '}fileid' Client.PROPERTY_PERMISSIONS = '{' + Client.NS_OWNCLOUD + '}permissions' Client.PROPERTY_SIZE = '{' + Client.NS_OWNCLOUD + '}size' Client.PROPERTY_GETCONTENTLENGTH = '{' + Client.NS_DAV + '}getcontentlength' Client.PROPERTY_ISENCRYPTED = '{' + Client.NS_DAV + '}is-encrypted' Client.PROPERTY_SHARE_PERMISSIONS = '{' + Client.NS_OCS + '}share-permissions' Client.PROPERTY_SHARE_ATTRIBUTES = '{' + Client.NS_NEXTCLOUD + '}share-attributes' Client.PROPERTY_QUOTA_AVAILABLE_BYTES = '{' + Client.NS_DAV + '}quota-available-bytes' Client.PROTOCOL_HTTP = 'http' Client.PROTOCOL_HTTPS = 'https' Client._PROPFIND_PROPERTIES = [ /** * Modified time */ [Client.NS_DAV, 'getlastmodified'], /** * Etag */ [Client.NS_DAV, 'getetag'], /** * Mime type */ [Client.NS_DAV, 'getcontenttype'], /** * Resource type "collection" for folders, empty otherwise */ [Client.NS_DAV, 'resourcetype'], /** * File id */ [Client.NS_OWNCLOUD, 'fileid'], /** * Letter-coded permissions */ [Client.NS_OWNCLOUD, 'permissions'], // [Client.NS_OWNCLOUD, 'downloadURL'], /** * Folder sizes */ [Client.NS_OWNCLOUD, 'size'], /** * File sizes */ [Client.NS_DAV, 'getcontentlength'], [Client.NS_DAV, 'quota-available-bytes'], /** * Preview availability */ [Client.NS_NEXTCLOUD, 'has-preview'], /** * Mount type */ [Client.NS_NEXTCLOUD, 'mount-type'], /** * Encryption state */ [Client.NS_NEXTCLOUD, 'is-encrypted'], /** * Share permissions */ [Client.NS_OCS, 'share-permissions'], /** * Share attributes */ [Client.NS_NEXTCLOUD, 'share-attributes'], ] /** * @memberof OC.Files */ Client.prototype = { /** * Root path of the Webdav endpoint * * @type string */ _root: null, /** * Client from the library * * @type dav.Client */ _client: null, /** * Array of file info parsing functions. * * @type Array */ _fileInfoParsers: [], /** * Returns the configured XHR provider for davclient * @returns {XMLHttpRequest} */ _xhrProvider: function() { const headers = this._defaultHeaders const xhr = new XMLHttpRequest() const oldOpen = xhr.open // override open() method to add headers xhr.open = function() { const result = oldOpen.apply(this, arguments) _.each(headers, function(value, key) { xhr.setRequestHeader(key, value) }) return result } OC.registerXHRForErrorProcessing(xhr) return xhr }, /** * Prepends the base url to the given path sections * * @param {...String} path sections * * @returns {String} base url + joined path, any leading or trailing slash * will be kept */ _buildUrl: function() { let path = this._buildPath.apply(this, arguments) if (path.charAt([path.length - 1]) === '/') { path = path.substr(0, path.length - 1) } if (path.charAt(0) === '/') { path = path.substr(1) } return this._baseUrl + '/' + path }, /** * Append the path to the root and also encode path * sections * * @param {...String} path sections * * @returns {String} joined path, any leading or trailing slash * will be kept */ _buildPath: function() { let path = OC.joinPaths.apply(this, arguments) const sections = path.split('/') let i for (i = 0; i < sections.length; i++) { sections[i] = encodeURIComponent(sections[i]) } path = sections.join('/') return path }, /** * Parse headers string into a map * * @param {string} headersString headers list as string * * @returns {Object.} map of header name to header contents */ _parseHeaders: function(headersString) { const headerRows = headersString.split('\n') const headers = {} for (let i = 0; i < headerRows.length; i++) { const sepPos = headerRows[i].indexOf(':') if (sepPos < 0) { continue } const headerName = headerRows[i].substr(0, sepPos) const headerValue = headerRows[i].substr(sepPos + 2) if (!headers[headerName]) { // make it an array headers[headerName] = [] } headers[headerName].push(headerValue) } return headers }, /** * Parses the etag response which is in double quotes. * * @param {string} etag etag value in double quotes * * @returns {string} etag without double quotes */ _parseEtag: function(etag) { if (etag.charAt(0) === '"') { return etag.split('"')[1] } return etag }, /** * Parse Webdav result * * @param {Object} response XML object * * @returns {Array.} array of file info */ _parse}WxdFileInfo: function(response) { let path = decodeURIComponent(response.href) if (path.substr(0, this._root.length) === this._root) { path = path.substr(this._root.length) } if (path.charAt(path.length - 1) === '/') { path = path.substr(0, path.length - 1) } if (response.propStat.length === 0 || response.propStat[0].status !== 'HTTP/1.1 200 OK') { return null } const props = response.propStat[0].properties const data = { id: props[Client.PROPERTY_INTERNAL_FILEID], path: OC.dirname(path) || '/', name: OC.basename(path), mtime: (new Date(props[Client.PROPERTY_GETLASTMODIFIED])).getTime(), } const etagProp = props[Client.PROPERTY_GETETAG] if (!_.isUndefined(etagProp)) { data.etag = this._parseEtag(etagProp) } let sizeProp = props[Client.PROPERTY_GETCONTENTLENGTH] if (!_.isUndefined(sizeProp)) { data.size = parseInt(sizeProp, 10) } sizeProp = props[Client.PROPERTY_SIZE] if (!_.isUndefined(sizeProp)) { data.size = parseInt(sizeProp, 10) } const hasPreviewProp = props['{' + Client.NS_NEXTCLOUD + '}has-preview'] if (!_.isUndefined(hasPreviewProp)) { data.hasPreview = hasPreviewProp === 'true' } else { data.hasPreview = true } const isEncryptedProp = props['{' + Client.NS_NEXTCLOUD + '}is-encrypted'] if (!_.isUndefined(isEncryptedProp)) { data.isEncrypted = isEncryptedProp === '1' } else { data.isEncrypted = false } const isFavouritedProp = props['{' + Client.NS_OWNCLOUD + '}favorite'] if (!_.isUndefined(isFavouritedProp)) { data.isFavourited = isFavouritedProp === '1' } else { data.isFavourited = false } const contentType = props[Client.PROPERTY_GETCONTENTTYPE] if (!_.isUndefined(contentType)) { data.mimetype = contentType } const resType = props[Client.PROPERTY_RESOURCETYPE] if (!data.mimetype && resType) { const xmlvalue = resType[0] if (xmlvalue.namespaceURI === Client.NS_DAV && xmlvalue.nodeName.split(':')[1] === 'collection') { data.mimetype = 'httpd/unix-directory' } } data.permissions = OC.PERMISSION_NONE const permissionProp = props[Client.PROPERTY_PERMISSIONS] if (!_.isUndefined(permissionProp)) { const permString = permissionProp || '' data.mountType = null for (let i = 0; i < permString.length; i++) { const c = permString.charAt(i) switch (c) { // FIXME: twisted permissions case 'C': case 'K': data.permissions |= OC.PERMISSION_CREATE break case 'G': data.permissions |= OC.PERMISSION_READ break case 'W': case 'N': case 'V': data.permissions |= OC.PERMISSION_UPDATE break case 'D': data.permissions |= OC.PERMISSION_DELETE break case 'R': data.permissions |= OC.PERMISSION_SHARE break case 'M': if (!data.mountType) { // TODO: how to identify external-root ? data.mountType = 'external' } break case 'S': // TODO: how to identify shared-root ? data.mountType = 'shared' break } } } const sharePermissionsProp = props[Client.PROPERTY_SHARE_PERMISSIONS] if (!_.isUndefined(sharePermissionsProp)) { data.sharePermissions = parseInt(sharePermissionsProp) } const shareAttributesProp = props[Client.PROPERTY_SHARE_ATTRIBUTES] if (!_.isUndefined(shareAttributesProp)) { try { data.shareAttributes = JSON.parse(shareAttributesProp) } catch (e) { console.warn('Could not parse share attributes returned by server: "' + shareAttributesProp + '"') data.shareAttributes = []; } } else { data.shareAttributes = []; } const mounTypeProp = props['{' + Client.NS_NEXTCLOUD + '}mount-type'] if (!_.isUndefined(mounTypeProp)) { data.mountType = mounTypeProp } const quotaAvailableBytes = props['{' + Client.NS_DAV + '}quota-available-bytes'] if (!_.isUndefined(quotaAvailableBytes)) { data.quotaAvailableBytes = quotaAvailableBytes } // extend the parsed data using the custom parsers _.each(this._fileInfoParsers, function(parserFunction) { _.extend(data, parserFunction(response, data) || {}) }) return new FileInfo(data) }, /** * Parse Webdav multistatus * * @param {Array} responses */ _parseResult: function(responses) { const self = this return _.map(responses, function(response) { return self._parseFileInfo(response) }) }, /** * Returns whether the given status code means success * * @param {number} status status code * * @returns true if status code is between 200 and 299 included */ _isSuccessStatus: function(status) { return status >= 200 && status <= 299 }, /** * Parse the Sabre exception out of the given response, if any * * @param {Object} response object * @returns {Object} array of parsed message and exception (only the first one) */ _getSabreException: function(response) { const result = {} const xml = response.xhr.responseXML if (xml === null) { return result } const messages = xml.getElementsByTagNameNS('http://sabredav.org/ns', 'message') const exceptions = xml.getElementsByTagNameNS('http://sabredav.org/ns', 'exception') if (messages.length) { result.message = messages[0].textContent } if (exceptions.length) { result.exception = exceptions[0].textContent } return result }, /** * Returns the default PROPFIND properties to use during a call. * * @returns {Array.} array of properties */ getPropfindProperties: function() { if (!this._propfindProperties) { this._propfindProperties = _.map(Client._PROPFIND_PROPERTIES, function(propDef) { return '{' + propDef[0] + '}' + propDef[1] }) } return this._propfindProperties }, /** * Lists the contents of a directory * * @param {String} path path to retrieve * @param {Object} [options] options * @param {boolean} [options.includeParent=false] set to true to keep * the parent folder in the result list * @param {Array} [options.properties] list of Webdav properties to retrieve * * @returns {Promise} promise */ getFolderContents: function(path, options) { if (!path) { path = '' } options = options || {} const self = this const deferred = $.Deferred() const promise = deferred.promise() let properties if (_.isUndefined(options.properties)) { properties = this.getPropfindProperties() } else { properties = options.properties } this._client.propFind( this._buildUrl(path), properties, 1 ).then(function(result) { if (self._isSuccessStatus(result.status)) { const results = self._parseResult(result.body) if (!options || !options.includeParent) { // remove root dir, the first entry results.shift() } deferred.resolve(result.status, results) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } }) return promise }, /** * Fetches a flat list of files filtered by a given filter criteria. * (currently system tags and circles are supported) * * @param {Object} filter filter criteria * @param {Object} [filter.systemTagIds] list of system tag ids to filter by * @param {boolean} [filter.favorite] set it to filter by favorites * @param {Object} [options] options * @param {Array} [options.properties] list of Webdav properties to retrieve * * @returns {Promise} promise */ getFilteredFiles: function(filter, options) { options = options || {} const self = this const deferred = $.Deferred() const promise = deferred.promise() let properties if (_.isUndefined(options.properties)) { properties = this.getPropfindProperties() } else { properties = options.properties } if (!filter || (!filter.systemTagIds && _.isUndefined(filter.favorite) && !filter.circlesIds)) { throw 'Missing filter argument' } // root element with namespaces let body = '\n' _.each(properties, function(prop) { const property = self._client.parseClarkNotation(prop) body += ' <' + self._client.xmlNamespaces[property.namespace] + ':' + property.name + ' />\n' }) body += ' \n' // rules block body += ' \n' _.each(filter.systemTagIds, function(systemTagIds) { body += ' ' + escapeHTML(systemTagIds) + '\n' }) _.each(filter.circlesIds, function(circlesIds) { body += ' ' + escapeHTML(circlesIds) + '\n' }) if (filter.favorite) { body += ' ' + (filter.favorite ? '1' : '0') + '\n' } body += ' \n' // end of root body += '\n' this._client.request( 'REPORT', this._buildUrl(), {}, body ).then(function(result) { if (self._isSuccessStatus(result.status)) { const results = self._parseResult(result.body) deferred.resolve(result.status, results) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } }) return promise }, /** * Returns the file info of a given path. * * @param {String} path path * @param {Array} [options.properties] list of Webdav properties to retrieve * * @returns {Promise} promise */ getFileInfo: function(path, options) { if (!path) { path = '' } options = options || {} const self = this const deferred = $.Deferred() const promise = deferred.promise() let properties if (_.isUndefined(options.properties)) { properties = this.getPropfindProperties() } else { properties = options.properties } // TODO: headers this._client.propFind( this._buildUrl(path), properties, 0 ).then( function(result) { if (self._isSuccessStatus(result.status)) { deferred.resolve(result.status, self._parseResult([result.body])[0]) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } } ) return promise }, /** * Returns the contents of the given file. * * @param {String} path path to file * * @returns {Promise} */ getFileContents: function(path) { if (!path) { throw 'Missing argument "path"' } const self = this const deferred = $.Deferred() const promise = deferred.promise() this._client.request( 'GET', this._buildUrl(path) ).then( function(result) { if (self._isSuccessStatus(result.status)) { deferred.resolve(result.status, result.body) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } } ) return promise }, /** * Puts the given data into the given file. * * @param {String} path path to file * @param {String} body file body * @param {Object} [options] * @param {String} [options.contentType='text/plain'] content type * @param {boolean} [options.overwrite=true] whether to overwrite an existing file * * @returns {Promise} */ putFileContents: function(path, body, options) { if (!path) { throw 'Missing argument "path"' } const self = this const deferred = $.Deferred() const promise = deferred.promise() options = options || {} const headers = {} let contentType = 'text/plain;charset=utf-8' if (options.contentType) { contentType = options.contentType } headers['Content-Type'] = contentType if (_.isUndefined(options.overwrite) || options.overwrite) { // will trigger 412 precondition failed if a file already exists headers['If-None-Match'] = '*' } this._client.request( 'PUT', this._buildUrl(path), headers, body || '' ).then( function(result) { if (self._isSuccessStatus(result.status)) { deferred.resolve(result.status) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } } ) return promise }, _simpleCall: function(method, path, headers) { if (!path) { throw 'Missing argument "path"' } const self = this const deferred = $.Deferred() const promise = deferred.promise() this._client.request( method, this._buildUrl(path), headers ? headers : {} ).then( function(result) { if (self._isSuccessStatus(result.status)) { deferred.resolve(result.status) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } } ) return promise }, /** * Creates a directory * * @param {String} path path to create * * @returns {Promise} */ createDirectory: function(path, headers) { return this._simpleCall('MKCOL', path, headers) }, /** * Deletes a file or directory * * @param {String} path path to delete * * @returns {Promise} */ remove: function(path) { return this._simpleCall('DELETE', path) }, /** * Moves path to another path * * @param {String} path path to move * @param {String} destinationPath destination path * @param {boolean} [allowOverwrite=false] true to allow overwriting, * false otherwise * @param {Object} [headers=null] additional headers * * @returns {Promise} promise */ move: function(path, destinationPath, allowOverwrite, headers) { if (!path) { throw 'Missing argument "path"' } if (!destinationPath) { throw 'Missing argument "destinationPath"' } const self = this const deferred = $.Deferred() const promise = deferred.promise() headers = _.extend({}, headers, { 'Destination': this._buildUrl(destinationPath), }) if (!allowOverwrite) { headers.Overwrite = 'F' } this._client.request( 'MOVE', this._buildUrl(path), headers ).then( function(result) { if (self._isSuccessStatus(result.status)) { deferred.resolve(result.status) } else { result = _.extend(result, self._getSabreException(result)) deferred.reject(result.status, result) } } ) return promise }, /** * Copies path to another path * * @param {String} path path to copy * @param {String} destinationPath destination path * @param {boolean} [allowOverwrite=false] true to allow overwriting, * false otherwise * * @returns {Promise} promise */ copy: function(path, destinationPath, allowOverwrite) { if (!path) { throw 'Missing argument "path"' } if (!destinationPath) { throw 'Missing argument "destinationPath"' } const self = this const deferred = $.Deferred() const promise = deferred.promise() const headers = { 'Destination': this._buildUrl(destinationPath), } if (!allowOverwrite) { headers.Overwrite = 'F' } this._client.request( 'COPY', this._buildUrl(path), headers ).then( function(response) { if (self._isSuccessStatus(response.status)) { deferred.resolve(response.status) } else { deferred.reject(response.status) } } ) return promise }, /** * Add a file info parser function * * @param {OC.Files.Client~parseFileInfo} parserFunction */ addFileInfoParser: function(parserFunction) { this._fileInfoParsers.push(parserFunction) }, /** * Returns the dav.Client instance used internally * * @since 11.0.0 * @returns {dav.Client} */ getClient: function() { return this._client }, /** * Returns the user name * * @since 11.0.0 * @returns {String} userName */ getUserName: function() { return this._client.userName }, /** * Returns the password * * @since 11.0.0 * @returns {String} password */ getPassword: function() { return this._client.password }, /** * Returns the base URL * * @since 11.0.0 * @returns {String} base URL */ getBaseUrl: function() { return this._client.baseUrl }, /** * Returns the host * * @since 13.0.0 * @returns {String} base URL */ getHost: function() { return this._host }, } /** * File info parser function * * This function receives a list of Webdav properties as input and * should return a hash array of parsed properties, if applicable. * * @callback OC.Files.Client~parseFileInfo * @param {Object} XML Webdav properties * @return {Array} array of parsed property values */ if (!OC.Files) { /** * @namespace OC.Files * * @since 8.2 */ OC.Files = {} } /** * Returns the default instance of the files client * * @returns {OC.Files.Client} default client * * @since 8.2 */ OC.Files.getClient = function() { if (OC.Files._defaultClient) { return OC.Files._defaultClient } const client = new OC.Files.Client({ host: OC.getHost(), port: OC.getPort(), root: OC.linkToRemoteBase('dav') + '/files/' + OC.getCurrentUser().uid, useHTTPS: OC.getProtocol() === 'https', }) OC.Files._defaultClient = client return client } OC.Files.Client = Client })(OC, OC.Files.FileInfo) "// The module cache var __webpack_module_cache__ = {}; // The require function function __webpack_require__(moduleId) { // Check if module is in cache var cachedModule = __webpack_module_cache__[moduleId]; if (cachedModule !== undefined) { return cachedModule.exports; } // Create a new module (and put it into the cache) var module = __webpack_module_cache__[moduleId] = { id: moduleId, loaded: false, exports: {} }; // Execute the module function __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); // Flag the module as loaded module.loaded = true; // Return the exports of the module return module.exports; } // expose the modules object (__webpack_modules__) __webpack_require__.m = __webpack_modules__; "‹// getDefaultExport function for compatibility with non-harmony modules __webpack_require__.n = (module) => { var getter = module && module.__esModule ? () => (module['default']) : () => (module); __webpack_require__.d(getter, { a: getter }); return getter; };"Д// define getter functions for harmony exports __webpack_require__.d = (exports, definition) => { for(var key in definition) { if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); } } };"Ш// The chunk loading function for additional chunks // Since all referenced chunks are already included // in this file, this function is empty here. __webpack_require__.e = () => (Promise.resolve());"н__webpack_require__.g = (function() { if (typeof globalThis === 'object') return globalThis; try { return this || new Function('return this')(); } catch (e) { if (typeof window === 'object') return window; } })();"X__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))"’// define __esModule on exports __webpack_require__.r = (exports) => { if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); } Object.defineProperty(exports, '__esModule', { value: true }); };"{__webpack_require__.nmd = (module) => { module.paths = []; if (!module.children) module.children = []; return module; };"__webpack_require__.j = 590;"х __webpack_require__.b = document.baseURI || self.location.href; // object to store loaded and loading chunks // undefined = chunk not loaded, null = chunk preloaded/prefetched // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded var installedChunks = { 590: 0 }; // no chunk on demand loading // no prefetching // no preloaded // no HMR // no HMR manifest __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); // install a JSONP callback for chunk loading var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { var chunkIds = data[0]; var moreModules = data[1]; var runtime = data[2]; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback var moduleId, chunkId, i = 0; if(chunkIds.some((id) => (installedChunks[id] !== 0))) { for(moduleId in moreModules) { if(__webpack_require__.o(moreModules, moduleId)) { __webpack_require__.m[moduleId] = moreModules[moduleId]; } } if(runtime) var result = runtime(__webpack_require__); } if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); for(;i < chunkIds.length; i++) { chunkId = chunkIds[i]; if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { installedChunks[chunkId][0](); } installedChunks[chunkId] = 0; } return __webpack_require__.O(result); } var chunkLoadingGlobal = self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []; chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"#__webpack_require__.nc = undefined;"Б// startup // Load entry module and return exports // This entry module depends on other loaded chunks and execution need to be delayed var __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(40828))) __webpack_exports__ = __webpack_require__.O(__webpack_exports__); $"namesAŒ"deferred"OC"FileInfo"Client"options"this"_root"root"charAt"length"substr"url" PROTOCOL_HTTP"useHTTPS"PROTOCOL_HTTPS"host"_host"_defaultHeaders"defaultHeaders" requestToken"_baseUrl" clientOptions"baseUrl" xmlNamespaces"userName"password"_client"dav" xhrProvider"_"bind" _xhrProvider"_fileInfoParsers" NS_OWNCLOUD" NS_NEXTCLOUD"NS_DAV"NS_OCS"PROPERTY_GETLASTMODIFIED"PROPERTY_GETETAG"PROPERTY_GETCONTENTTYPE"PROPERTY_RESOURCETYPE"PROPERTY_INTERNAL_FILEID"PROPERTY_PERMISSIONS" PROPERTY_SIZE"PROPERTY_GETCONTENTLENGTH"PROPERTY_ISENCRYPTED"PROPERTY_SHARE_PERMISSIONS"PROPERTY_SHARE_ATTRIBUTES"PROPERTY_QUOTA_AVAILABLE_BYTES"_PROPFIND_PROPERTIES" prototype"headers"xhr"XMLHttpRequest"oldOpen"open"result"apply" arguments"each"value"key"setRequestHeader"registerXHRForErrorProcessing" _buildUrl"path" _buildPath" joinPaths"sections"split"i"encodeURIComponent"join" _parseHeaders" headersString" headerRows"sepPos"indexOf" headerName" headerValue"push" _parseEtag"etag"_parseFileInfo"response"decodeURIComponent"href"propStat"status"props" properties"data"id"dirname"name"basename"mtime"Date"getTime"etagProp" isUndefined"sizeProp"size"parseInt"hasPreviewProp" hasPreview"isEncryptedProp" isEncrypted"isFavouritedProp" isFavourited" contentType"mimetype"resType"xmlvalue" namespaceURI"nodeName" permissions"PERMISSION_NONE"permissionProp" permString" mountType"PERMISSION_CREATE"PERMISSION_READ"PERMISSION_UPDATE"PERMISSION_DELETE"PERMISSION_SHARE"sharePermissionsProp"sharePermissions"shareAttributesProp"shareAttributes"JSON"parse"e"console"warn" mounTypeProp"quotaAvailableBytes"parserFunction"extend" _parseResult" responses"self"map"_isSuccessStatus"_getSabreException"xml" responseXML"messages"getElementsByTagNameNS" exceptions"message" textContent" exception"getPropfindProperties"_propfindProperties"propDef"getFolderContents"$"Deferred"promise"propFind"then"results"body" includeParent"shift"resolve"reject"getFilteredFiles"filter" systemTagIds"favorite" circlesIds" namespace"prop"property"parseClarkNotation" escapeHTML"request" getFileInfo"getFileContents"putFileContents" overwrite" _simpleCall"method"createDirectory"remove"move"destinationPath"allowOverwrite" Overwrite"copy"addFileInfoParser" getClient" getUserName" getPassword" getBaseUrl"getHost"Files"_defaultClient"client"port"getPort"linkToRemoteBase"getCurrentUser"uid" getProtocol"__webpack_module_cache__"__webpack_require__"moduleId" cachedModule" undefined"exports"module"loaded"__webpack_modules__"call"m"O"chunkIds"fn"priority" notFulfilled"Infinity" fulfilled"j"Object"keys"every"splice"r"n"getter" __esModule"d"a" definition"o"defineProperty" enumerable"get"Promise"g" globalThis"Function"window"obj"hasOwnProperty"Symbol" toStringTag"nmd"paths"children"b"document"baseURI"location"installedChunks"chunkId"webpackJsonpCallback"parentChunkLoadingFunction" moreModules"runtime"some"chunkLoadingGlobal"forEach"nc"__webpack_exports__$Œ" sourceRoot"{" mapLoadURL"Lhttps://drive.xalri.ovh/dist/core-files_client.js.map?v=c534909bc68b89549216"lastUsedNPЛ]ƒЏyB{2 4  MsEdgeDevToolsSymCache  2 џџџџџџџ 22 џџџџџџўОЛ ИYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7[Ј€ISiИYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7эYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7Ycore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7ЕYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b72 2 џџџџџџ§ОЛ ИYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b72 џџџџџџќѓ№ эYcore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7Ycore-files_client.js.map:d0ac77a92bdf480f53302ef07a2e442417967eacdba5aea548d0b749077706b7ЃБ#C]n2 џџџџџџќ2 џџџџџџ§2 џџџџџџў2 џџџџџџџ2 €бхЅЃs2КZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2š џўџo"key"Zfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2" sourcemapo"versionI"file",files_sharing-main.js?v=44acf67d4a616745e9e9"mappings"ФmBAMAA,OAAOC,OAAOC,OAAOC,GAAI,CACrBC,MAAO,CACHC,gBAAiB,EACjBC,iBAAkB,EAClBC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,kBAAmB,EACnBC,iBAAkB,EAClBC,wBAAyB,EACzBC,gBAAiB,GACjBC,gBAAiB,GACjBC,uBAAwB,K"sourcesA"3webpack:///nextcloud/apps/files_sharing/src/main.ts$"sourcesContentA"Џ"use strict"; /** * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ // register default shares types Object.assign(window.OC, { Share: { SHARE_TYPE_USER: 0, SHARE_TYPE_GROUP: 1, SHARE_TYPE_LINK: 3, SHARE_TYPE_EMAIL: 4, SHARE_TYPE_REMOTE: 6, SHARE_TYPE_CIRCLE: 7, SHARE_TYPE_GUEST: 8, SHARE_TYPE_REMOTE_GROUP: 9, SHARE_TYPE_ROOM: 10, SHARE_TYPE_DECK: 12, SHARE_TYPE_SCIENCEMESH: 15, }, }); $"namesA"Object"assign"window"OC"Share"SHARE_TYPE_USER"SHARE_TYPE_GROUP"SHARE_TYPE_LINK"SHARE_TYPE_EMAIL"SHARE_TYPE_REMOTE"SHARE_TYPE_CIRCLE"SHARE_TYPE_GUEST"SHARE_TYPE_REMOTE_GROUP"SHARE_TYPE_ROOM"SHARE_TYPE_DECK"SHARE_TYPE_SCIENCEMESH$" sourceRoot"{" mapLoadURL"Mhttps://drive.xalri.ovh/dist/files_sharing-main.js.map?v=44acf67d4a616745e9e9"lastUsedNаЛ]ƒЏyB{2 4  MsEdgeDevToolsSymCache  2 џџџџџџџ 22 џџџџџџўРН КZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2ЙXћZaxКZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2ёZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2Zfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2ЗZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec22 2 џџџџџџ§РН КZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec22 џџџџџџќїє ёZfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2Zfiles_sharing-main.js.map:11eacb0d71b5a502f4c23ef079ddc2e12201a124b392e7df261a686739589ec2†X˜]}2 џџџџџџќ2 џџџџџџ§2 џџџџџџў2 џџџџџџџ2 Ÿєа‚ьЫХAо„ 2ЌScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299ae џХ§УЌScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeеScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeЉScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299ae2 4  MsEdgeDevToolsSymCache  2 џџџџџџџ 22 џџџџџџўВЏ ЌScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299ae2 џџџџџџ§ВЏ ЌScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299ae2 џџџџџџќли еScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeŒІњ•ЌScore-common.js.map:d6febb46c881e8a41e95108fd20184a259c41d4d05c1d53aff7feefff81299aeU'application/vnd.blink-idb-value-wrapperХ§У2 2 џџџџџџћВЏ ЌScore-common.js.map:d6febb46c881e8a41ej›žF˜95108fd20184a259c41d4d05c1d53aff7feefff81299ae2 џџџџџџњ 2 џџџџџџљ  яD“”2 џџџџџџљ2 џџџџџџњ2 џџџџџџћ2 џџџџџџќ2 џџџџџџ§2 џџџџџџў2 џџџџџџџ2 Т› œ€MдЁЄ/M7™O QЭЩnž-&Ÿ 2АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adџЗ–-АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adнUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad­Ums.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad24  MsEdgeDevToolsSymCache  2џџџџџџџ 22џџџџџџўЖГ АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad2џџџџџџ§ЖГ АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad2џџџџџџќур нUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adjх4ЈАUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adT'application/vnd.blink-idb-value-wrapperЗ–-22џџџџџџћЖГ АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad2џџџџџџњ 2џџџџџџљ  ЌЛ“Џ2џџџџџџљ2џџџџџџњ2џџџџџџћ2џџџџџџќ2џџџџџџ§2џџџџџџў2џџџџџџџ29›ЗВ‰'lОЙ 2АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adџц‚.АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adнUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad­Ums.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad24  MsEdgeDevToolsSymCache  2џџџџџџџ 22џџџџџџўР Н АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adџЗ–-2џџџџџџ§Й Ж АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad2џџџџџџќ“  нUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72ad­Ums.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adњ)Љ_Т АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adАUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adT'application/vnd.blink-idb-value-wrapperц‚.22џџџџџџћŒ ‰ АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adT'application/vnd.blink-idb-value-wrapperЗ–-2џџџџџџњŒ ‰ АUms.jsll-4.min.js.map:3523ef527c725495ba27fe65f8644512211b8c3187c79b2cf0dee72e55aa72adT'application/vnd.blink-idb-value-wrapperЗ–-2џџџџџџљ 2џџџџџџј  =дхёЅЫ 2џџџџџџј2џџџџџџљ2џџџџџџњ2џџџџџџћ2џџџџџџќ2џџџџџџ§2џџџџџџў2џџџџџџџ2C˜ишд