From 5ad78c9bb9ae604b56944a78f039fda22890748c Mon Sep 17 00:00:00 2001 From: Nathaniel Lin Date: Thu, 14 Dec 2023 22:37:26 +0800 Subject: [PATCH] v2.0.7 --- CHANGELOG.md | 8 + dist/package.json | 20 +- dist/tsdav.cjs | 198 +- dist/tsdav.cjs.js | 198 +- dist/tsdav.d.ts | 100 + dist/tsdav.esm.js | 198 +- dist/tsdav.js | 198 +- dist/tsdav.min.cjs | 2 +- dist/tsdav.min.js | 4 +- dist/tsdav.min.mjs | 2 +- dist/tsdav.mjs | 198 +- docs/docs/caldav/calendarMultiGet.md | 1 + docs/docs/caldav/calendarQuery.md | 1 + docs/docs/caldav/createCalendarObject.md | 1 + docs/docs/caldav/deleteCalendarObject.md | 1 + docs/docs/caldav/fetchCalendarObjects.md | 1 + docs/docs/caldav/fetchCalendars.md | 1 + docs/docs/caldav/freeBusyQuery.md | 1 + docs/docs/caldav/makeCalendar.md | 1 + docs/docs/caldav/syncCalendars.md | 1 + docs/docs/caldav/updateCalendarObject.md | 1 + docs/docs/carddav/addressBookMultiGet.md | 1 + docs/docs/carddav/addressBookQuery.md | 1 + docs/docs/carddav/createVCard.md | 1 + docs/docs/carddav/deleteVCard.md | 1 + docs/docs/carddav/fetchAddressBooks.md | 1 + docs/docs/carddav/fetchVCards.md | 1 + docs/docs/carddav/updateVCard.md | 1 + docs/docs/helpers/requestHelpers.md | 6 + docs/docs/intro.md | 4 +- docs/docs/types/DAVRequest.md | 1 + docs/docs/webdav/account/createAccount.md | 1 + docs/docs/webdav/account/fetchHomeUrl.md | 1 + docs/docs/webdav/account/fetchPrincipalUrl.md | 1 + docs/docs/webdav/account/serviceDiscovery.md | 1 + .../docs/webdav/collection/collectionQuery.md | 1 + .../webdav/collection/isCollectionDirty.md | 1 + docs/docs/webdav/collection/makeCollection.md | 1 + .../webdav/collection/smartCollectionSync.md | 1 + .../webdav/collection/supportedReportSet.md | 1 + docs/docs/webdav/collection/syncCollection.md | 1 + docs/docs/webdav/createObject.md | 1 + docs/docs/webdav/deleteObject.md | 1 + docs/docs/webdav/propfind.md | 1 + docs/docs/webdav/updateObject.md | 1 + docs/docusaurus.config.js | 6 +- docs/package.json | 23 +- docs/yarn.lock | 6532 +++++++++-------- package.json | 20 +- .../integration/apple/calendar.test.ts | 2 +- src/__tests__/unit/requestHelpers.test.ts | 30 +- src/account.ts | 61 +- src/addressBook.ts | 63 +- src/calendar.ts | 89 +- src/collection.ts | 49 +- src/request.ts | 26 +- src/util/requestHelpers.ts | 16 + yarn.lock | 324 +- 58 files changed, 4538 insertions(+), 3871 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5696db..a48e15c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## v2.0.7 + +**features** +new option `headersToExclude` on all possible functions, allow precise control on request headers, fixing [#166](https://github.com/natelindev/tsdav/issues/166) + +**improvements** +updated dependencies + ## v2.0.6 **improvements** diff --git a/dist/package.json b/dist/package.json index 925f7ce..e96bef2 100644 --- a/dist/package.json +++ b/dist/package.json @@ -1,6 +1,6 @@ { "name": "tsdav", - "version": "2.0.6", + "version": "2.0.7", "description": "WebDAV, CALDAV, and CARDDAV client for Nodejs and the Browser", "keywords": [ "dav", @@ -59,24 +59,24 @@ "@rollup/plugin-typescript": "11.1.5", "@types/base-64": "1.0.2", "@types/debug": "4.1.12", - "@types/jest": "29.5.9", - "@types/node": "20.9.3", - "@typescript-eslint/eslint-plugin": "6.12.0", - "@typescript-eslint/parser": "6.12.0", + "@types/jest": "29.5.11", + "@types/node": "20.10.4", + "@typescript-eslint/eslint-plugin": "6.14.0", + "@typescript-eslint/parser": "6.14.0", "copyfiles": "2.4.1", "cross-env": "7.0.3", "dotenv": "16.3.1", - "eslint": "8.54.0", + "eslint": "8.55.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "17.1.0", - "eslint-config-prettier": "9.0.0", + "eslint-config-prettier": "9.1.0", "eslint-module-utils": "2.8.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-prettier": "5.0.1", "jest": "29.7.0", - "prettier": "3.1.0", + "prettier": "3.1.1", "rimraf": "5.0.5", - "rollup": "4.5.0", + "rollup": "4.9.0", "rollup-plugin-dts": "6.1.0", "rollup-plugin-node-builtins": "2.1.2", "rollup-plugin-polyfill-node": "0.13.0", @@ -84,7 +84,7 @@ "sort-package-json": "2.6.0", "ts-jest": "29.1.1", "tslib": "2.6.2", - "typescript": "5.2.2" + "typescript": "5.3.3" }, "engines": { "node": ">=10" diff --git a/dist/tsdav.cjs b/dist/tsdav.cjs index ee889ea..1f88940 100644 --- a/dist/tsdav.cjs +++ b/dist/tsdav.cjs @@ -144,11 +144,21 @@ const conditionalParam = (key, param) => { } return {}; }; +const excludeHeaders = (headers, headersToExclude) => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + return Object.fromEntries(Object.entries(headers).filter(([key]) => !headersToExclude.includes(key))); +}; var requestHelpers = /*#__PURE__*/Object.freeze({ __proto__: null, cleanupFalsy: cleanupFalsy, conditionalParam: conditionalParam, + excludeHeaders: excludeHeaders, getDAVAttribute: getDAVAttribute, urlContains: urlContains, urlEquals: urlEquals @@ -274,12 +284,12 @@ const davRequest = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: { propfind: { @@ -297,22 +307,26 @@ const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, headers } = params; - return crossFetch.fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return crossFetch.fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }); const updateObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return crossFetch.fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); const deleteObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return crossFetch.fetch(url, { method: 'DELETE', - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); @@ -336,12 +350,12 @@ const findMissingFieldNames = (obj, fields) => fields.reduce((prev, curr) => (ob const debug$4 = getLogger('tsdav:collection'); const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, body, depth, defaultNamespace = exports.DAVNamespaceShort.DAV, headers } = params; + const { url, body, depth, defaultNamespace = exports.DAVNamespaceShort.DAV, headers, headersToExclude, } = params; const queryResults = yield davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: defaultNamespace, body, }, @@ -353,12 +367,12 @@ const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* return queryResults; }); const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: props ? { @@ -374,27 +388,27 @@ const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* ( }); const supportedReportSet = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = yield propfind({ url: collection.url, props: { [`${exports.DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ((_e = (_d = (_c = (_b = (_a = res[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.supportedReportSet) === null || _c === void 0 ? void 0 : _c.supportedReport) === null || _d === void 0 ? void 0 : _d.map((sr) => Object.keys(sr.report)[0])) !== null && _e !== void 0 ? _e : []); }); const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function* () { var _f, _g, _h; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = yield propfind({ url: collection.url, props: { [`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -409,13 +423,13 @@ const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function * This is for webdav sync-collection only */ const syncCollection = (params) => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: exports.DAVNamespaceShort.DAV, - headers: Object.assign({}, headers), + headers: excludeHeaders(Object.assign({}, headers), headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -434,7 +448,7 @@ const syncCollection = (params) => { /** remote collection to local */ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, function* () { var _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -454,7 +468,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, syncLevel: 1, syncToken: collection.syncToken, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const objectResponses = result.filter((r) => { var _a; @@ -474,7 +488,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, objectUrls: changedObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })))) !== null && _l !== void 0 ? _l : [] : []; const remoteObjects = multiGetObjectResponse.map((res) => { @@ -515,10 +529,13 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi if (syncMethod === 'basic') { const { isDirty, newCtag } = yield isCollectionDirty({ collection, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const localObjects = (_s = collection.objects) !== null && _s !== void 0 ? _s : []; - const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { collection, headers })))) !== null && _u !== void 0 ? _u : []; + const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { + collection, + headers: excludeHeaders(headers, headersToExclude), + })))) !== null && _u !== void 0 ? _u : []; // no existing url const created = remoteObjects.filter((ro) => localObjects.every((lo) => !urlContains(lo.url, ro.url))); // debug(`created objects: ${created.map((o) => o.url).join('\n')}`); @@ -561,7 +578,7 @@ var collection = /*#__PURE__*/Object.freeze({ const debug$3 = getLogger('tsdav:addressBook'); const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -579,7 +596,7 @@ const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: exports.DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { @@ -599,7 +616,7 @@ const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, functi }); }); const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, props: customProps } = params !== null && params !== void 0 ? params : {}; + const { account, headers, props: customProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -616,7 +633,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function [`${exports.DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('addressbook'); }) @@ -638,7 +655,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function }))); }); const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { addressBook, headers, objectUrls, headersToExclude, urlFilter = (url) => url, useMultiGet = true, } = params; debug$3(`Fetching vcards from ${addressBook === null || addressBook === void 0 ? void 0 : addressBook.url}`); const requiredFields = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -653,7 +670,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { url: addressBook.url, props: { [`${exports.DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (res.ok ? (_a = res.href) !== null && _a !== void 0 ? _a : '' : ''); })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, addressBook.url).href)) .filter(urlFilter) @@ -669,7 +686,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -680,7 +697,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { [`${exports.DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -694,28 +711,28 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), headersToExclude), }); }); const deleteVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); @@ -732,7 +749,7 @@ var addressBook = /*#__PURE__*/Object.freeze({ const debug$2 = getLogger('tsdav:calendar'); const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -750,11 +767,11 @@ const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -762,16 +779,16 @@ const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: { [`${exports.DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -789,7 +806,7 @@ const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () }); }); const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { headers, account, props: customProps, projectedProps } = params !== null && params !== void 0 ? params : {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -810,7 +827,7 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( [`${exports.DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('calendar'); }) @@ -832,11 +849,14 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( : [(_m = rs.props) === null || _m === void 0 ? void 0 : _m.supportedCalendarComponentSet.comp._attributes.name], resourcetype: Object.keys((_o = rs.props) === null || _o === void 0 ? void 0 : _o.resourcetype), syncToken: (_p = rs.props) === null || _p === void 0 ? void 0 : _p.syncToken }, conditionalParam('projectedProps', Object.fromEntries(Object.entries((_q = rs.props) !== null && _q !== void 0 ? _q : {}).filter(([key]) => projectedProps === null || projectedProps === void 0 ? void 0 : projectedProps[key])))); }) .map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ collection: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); }); const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, } = params; + const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, headersToExclude, } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -906,7 +926,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (_a = res.href) !== null && _a !== void 0 ? _a : ''; })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, calendar.url).href)) // patch up to full url if url is not full .filter(urlFilter) // custom filter function on calendar objects @@ -937,7 +957,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -964,7 +984,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -978,37 +998,44 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }); }); const createCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), headersToExclude), }); }); const deleteCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }); /** * Sync remote calendars to local */ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a; - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = (_a = oldCalendars !== null && oldCalendars !== void 0 ? oldCalendars : account.calendars) !== null && _a !== void 0 ? _a : []; - const remoteCalendars = yield fetchCalendars({ account, headers }); + const remoteCalendars = yield fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => localCalendars.every((lc) => !urlContains(lc.url, rc.url))); debug$2(`new calendars: ${created.map((cc) => cc.displayName)}`); @@ -1027,7 +1054,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () const result = yield smartCollectionSync({ collection: Object.assign(Object.assign({}, u), { objectMultiGet: calendarMultiGet }), method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -1047,7 +1074,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () : [...unchanged, ...created, ...updatedWithObjects]; }); const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -1075,7 +1102,7 @@ const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }); @@ -1098,13 +1125,13 @@ const debug$1 = getLogger('tsdav:account'); const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; debug$1('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); uri.protocol = (_a = endpoint.protocol) !== null && _a !== void 0 ? _a : 'http'; try { const response = yield crossFetch.fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -1129,7 +1156,7 @@ const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* }); const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _c, _d, _e, _f, _g; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchPrincipalUrl`); @@ -1141,7 +1168,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function [`${exports.DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug$1(`Fetch principal url failed: ${response.statusText}`); @@ -1154,7 +1181,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function }); const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchHomeUrl`); @@ -1166,7 +1193,7 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () ? { [`${exports.DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${exports.DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); if (!matched || !matched.ok) { @@ -1179,29 +1206,50 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () return result; }); const createAccount = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { account, headers, loadCollections = false, loadObjects = false, headersToExclude, } = params; const newAccount = Object.assign({}, account); - newAccount.rootUrl = yield serviceDiscovery({ account, headers }); - newAccount.principalUrl = yield fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = yield fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = yield serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = yield fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = yield fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = yield fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = yield fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = yield fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = yield fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { if (account.accountType === 'caldav' && newAccount.calendars) { newAccount.calendars = yield Promise.all(newAccount.calendars.map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ calendar: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = yield Promise.all(newAccount.addressBooks.map((addr) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ addressBook: addr, headers }) })); + return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } } diff --git a/dist/tsdav.cjs.js b/dist/tsdav.cjs.js index ee889ea..1f88940 100644 --- a/dist/tsdav.cjs.js +++ b/dist/tsdav.cjs.js @@ -144,11 +144,21 @@ const conditionalParam = (key, param) => { } return {}; }; +const excludeHeaders = (headers, headersToExclude) => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + return Object.fromEntries(Object.entries(headers).filter(([key]) => !headersToExclude.includes(key))); +}; var requestHelpers = /*#__PURE__*/Object.freeze({ __proto__: null, cleanupFalsy: cleanupFalsy, conditionalParam: conditionalParam, + excludeHeaders: excludeHeaders, getDAVAttribute: getDAVAttribute, urlContains: urlContains, urlEquals: urlEquals @@ -274,12 +284,12 @@ const davRequest = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: { propfind: { @@ -297,22 +307,26 @@ const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, headers } = params; - return crossFetch.fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return crossFetch.fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }); const updateObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return crossFetch.fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); const deleteObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return crossFetch.fetch(url, { method: 'DELETE', - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); @@ -336,12 +350,12 @@ const findMissingFieldNames = (obj, fields) => fields.reduce((prev, curr) => (ob const debug$4 = getLogger('tsdav:collection'); const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, body, depth, defaultNamespace = exports.DAVNamespaceShort.DAV, headers } = params; + const { url, body, depth, defaultNamespace = exports.DAVNamespaceShort.DAV, headers, headersToExclude, } = params; const queryResults = yield davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: defaultNamespace, body, }, @@ -353,12 +367,12 @@ const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* return queryResults; }); const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: props ? { @@ -374,27 +388,27 @@ const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* ( }); const supportedReportSet = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = yield propfind({ url: collection.url, props: { [`${exports.DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ((_e = (_d = (_c = (_b = (_a = res[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.supportedReportSet) === null || _c === void 0 ? void 0 : _c.supportedReport) === null || _d === void 0 ? void 0 : _d.map((sr) => Object.keys(sr.report)[0])) !== null && _e !== void 0 ? _e : []); }); const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function* () { var _f, _g, _h; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = yield propfind({ url: collection.url, props: { [`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -409,13 +423,13 @@ const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function * This is for webdav sync-collection only */ const syncCollection = (params) => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: exports.DAVNamespaceShort.DAV, - headers: Object.assign({}, headers), + headers: excludeHeaders(Object.assign({}, headers), headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -434,7 +448,7 @@ const syncCollection = (params) => { /** remote collection to local */ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, function* () { var _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -454,7 +468,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, syncLevel: 1, syncToken: collection.syncToken, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const objectResponses = result.filter((r) => { var _a; @@ -474,7 +488,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, objectUrls: changedObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })))) !== null && _l !== void 0 ? _l : [] : []; const remoteObjects = multiGetObjectResponse.map((res) => { @@ -515,10 +529,13 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi if (syncMethod === 'basic') { const { isDirty, newCtag } = yield isCollectionDirty({ collection, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const localObjects = (_s = collection.objects) !== null && _s !== void 0 ? _s : []; - const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { collection, headers })))) !== null && _u !== void 0 ? _u : []; + const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { + collection, + headers: excludeHeaders(headers, headersToExclude), + })))) !== null && _u !== void 0 ? _u : []; // no existing url const created = remoteObjects.filter((ro) => localObjects.every((lo) => !urlContains(lo.url, ro.url))); // debug(`created objects: ${created.map((o) => o.url).join('\n')}`); @@ -561,7 +578,7 @@ var collection = /*#__PURE__*/Object.freeze({ const debug$3 = getLogger('tsdav:addressBook'); const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -579,7 +596,7 @@ const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: exports.DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { @@ -599,7 +616,7 @@ const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, functi }); }); const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, props: customProps } = params !== null && params !== void 0 ? params : {}; + const { account, headers, props: customProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -616,7 +633,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function [`${exports.DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('addressbook'); }) @@ -638,7 +655,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function }))); }); const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { addressBook, headers, objectUrls, headersToExclude, urlFilter = (url) => url, useMultiGet = true, } = params; debug$3(`Fetching vcards from ${addressBook === null || addressBook === void 0 ? void 0 : addressBook.url}`); const requiredFields = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -653,7 +670,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { url: addressBook.url, props: { [`${exports.DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (res.ok ? (_a = res.href) !== null && _a !== void 0 ? _a : '' : ''); })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, addressBook.url).href)) .filter(urlFilter) @@ -669,7 +686,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -680,7 +697,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { [`${exports.DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -694,28 +711,28 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), headersToExclude), }); }); const deleteVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); @@ -732,7 +749,7 @@ var addressBook = /*#__PURE__*/Object.freeze({ const debug$2 = getLogger('tsdav:calendar'); const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -750,11 +767,11 @@ const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -762,16 +779,16 @@ const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: exports.DAVNamespaceShort.DAV, body: { [`${exports.DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -789,7 +806,7 @@ const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () }); }); const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { headers, account, props: customProps, projectedProps } = params !== null && params !== void 0 ? params : {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -810,7 +827,7 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( [`${exports.DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('calendar'); }) @@ -832,11 +849,14 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( : [(_m = rs.props) === null || _m === void 0 ? void 0 : _m.supportedCalendarComponentSet.comp._attributes.name], resourcetype: Object.keys((_o = rs.props) === null || _o === void 0 ? void 0 : _o.resourcetype), syncToken: (_p = rs.props) === null || _p === void 0 ? void 0 : _p.syncToken }, conditionalParam('projectedProps', Object.fromEntries(Object.entries((_q = rs.props) !== null && _q !== void 0 ? _q : {}).filter(([key]) => projectedProps === null || projectedProps === void 0 ? void 0 : projectedProps[key])))); }) .map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ collection: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); }); const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, } = params; + const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, headersToExclude, } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -906,7 +926,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (_a = res.href) !== null && _a !== void 0 ? _a : ''; })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, calendar.url).href)) // patch up to full url if url is not full .filter(urlFilter) // custom filter function on calendar objects @@ -937,7 +957,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -964,7 +984,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -978,37 +998,44 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }); }); const createCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), headersToExclude), }); }); const deleteCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }); /** * Sync remote calendars to local */ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a; - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = (_a = oldCalendars !== null && oldCalendars !== void 0 ? oldCalendars : account.calendars) !== null && _a !== void 0 ? _a : []; - const remoteCalendars = yield fetchCalendars({ account, headers }); + const remoteCalendars = yield fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => localCalendars.every((lc) => !urlContains(lc.url, rc.url))); debug$2(`new calendars: ${created.map((cc) => cc.displayName)}`); @@ -1027,7 +1054,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () const result = yield smartCollectionSync({ collection: Object.assign(Object.assign({}, u), { objectMultiGet: calendarMultiGet }), method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -1047,7 +1074,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () : [...unchanged, ...created, ...updatedWithObjects]; }); const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -1075,7 +1102,7 @@ const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: exports.DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }); @@ -1098,13 +1125,13 @@ const debug$1 = getLogger('tsdav:account'); const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; debug$1('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); uri.protocol = (_a = endpoint.protocol) !== null && _a !== void 0 ? _a : 'http'; try { const response = yield crossFetch.fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -1129,7 +1156,7 @@ const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* }); const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _c, _d, _e, _f, _g; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchPrincipalUrl`); @@ -1141,7 +1168,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function [`${exports.DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug$1(`Fetch principal url failed: ${response.statusText}`); @@ -1154,7 +1181,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function }); const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchHomeUrl`); @@ -1166,7 +1193,7 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () ? { [`${exports.DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${exports.DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); if (!matched || !matched.ok) { @@ -1179,29 +1206,50 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () return result; }); const createAccount = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { account, headers, loadCollections = false, loadObjects = false, headersToExclude, } = params; const newAccount = Object.assign({}, account); - newAccount.rootUrl = yield serviceDiscovery({ account, headers }); - newAccount.principalUrl = yield fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = yield fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = yield serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = yield fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = yield fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = yield fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = yield fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = yield fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = yield fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { if (account.accountType === 'caldav' && newAccount.calendars) { newAccount.calendars = yield Promise.all(newAccount.calendars.map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ calendar: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = yield Promise.all(newAccount.addressBooks.map((addr) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ addressBook: addr, headers }) })); + return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } } diff --git a/dist/tsdav.d.ts b/dist/tsdav.d.ts index d863ea8..7252a09 100644 --- a/dist/tsdav.d.ts +++ b/dist/tsdav.d.ts @@ -177,6 +177,7 @@ declare const addressBookQuery: (params: { filters?: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const addressBookMultiGet: (params: { url: string; @@ -189,6 +190,7 @@ declare const fetchAddressBooks: (params?: { account?: DAVAccount; props?: ElementCompact; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const fetchVCards: (params: { addressBook: DAVAddressBook; @@ -196,20 +198,24 @@ declare const fetchVCards: (params: { objectUrls?: string[] | undefined; urlFilter?: ((url: string) => boolean) | undefined; useMultiGet?: boolean | undefined; + headersToExclude?: string[] | undefined; }) => Promise; declare const createVCard: (params: { addressBook: DAVAddressBook; vCardString: string; filename: string; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const updateVCard: (params: { vCard: DAVVCard; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const deleteVCard: (params: { vCard: DAVVCard; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const calendarQuery: (params: { @@ -219,6 +225,7 @@ declare const calendarQuery: (params: { timezone?: string; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const calendarMultiGet: (params: { url: string; @@ -228,18 +235,21 @@ declare const calendarMultiGet: (params: { depth: DAVDepth; filters?: ElementCompact; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const makeCalendar: (params: { url: string; props: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const fetchCalendars: (params?: { account?: DAVAccount; props?: ElementCompact; projectedProps?: Record; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const fetchCalendarObjects: (params: { calendar: DAVCalendar; @@ -252,6 +262,7 @@ declare const fetchCalendarObjects: (params: { expand?: boolean | undefined; urlFilter?: ((url: string) => boolean) | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; useMultiGet?: boolean | undefined; }) => Promise; declare const createCalendarObject: (params: { @@ -259,14 +270,17 @@ declare const createCalendarObject: (params: { iCalString: string; filename: string; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const updateCalendarObject: (params: { calendarObject: DAVCalendarObject; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const deleteCalendarObject: (params: { calendarObject: DAVCalendarObject; headers?: Record; + headersToExclude?: string[]; }) => Promise; /** * Sync remote calendars to local @@ -280,6 +294,7 @@ declare const freeBusyQuery: (params: { }; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const collectionQuery: (params: { @@ -288,20 +303,24 @@ declare const collectionQuery: (params: { depth?: DAVDepth; defaultNamespace?: DAVNamespaceShort; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const makeCollection: (params: { url: string; props?: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const supportedReportSet: (params: { collection: DAVCollection; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const isCollectionDirty: (params: { collection: DAVCollection; headers?: Record; + headersToExclude?: string[]; }) => Promise<{ isDirty: boolean; newCtag: string; @@ -313,6 +332,7 @@ declare const syncCollection: (params: { url: string; props: ElementCompact; headers?: Record; + headersToExclude?: string[]; syncLevel?: number; syncToken?: string; }) => Promise; @@ -330,22 +350,26 @@ declare const propfind: (params: { props: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const createObject: (params: { url: string; data: BodyInit; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const updateObject: (params: { url: string; data: BodyInit; etag?: string; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const deleteObject: (params: { url: string; etag?: string; headers?: Record; + headersToExclude?: string[]; }) => Promise; declare const createDAVClient: (params: { @@ -366,6 +390,7 @@ declare const createDAVClient: (params: { props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createAccount: (params0: { account: Optional; @@ -377,17 +402,20 @@ declare const createDAVClient: (params: { url: string; data: BodyInit; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateObject: (params: { url: string; data: BodyInit; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteObject: (params: { url: string; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; calendarQuery: (params: { url: string; @@ -396,6 +424,7 @@ declare const createDAVClient: (params: { timezone?: string | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; addressBookQuery: (params: { url: string; @@ -403,6 +432,7 @@ declare const createDAVClient: (params: { filters?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; collectionQuery: (params: { url: string; @@ -410,12 +440,14 @@ declare const createDAVClient: (params: { depth?: DAVDepth | undefined; defaultNamespace?: DAVNamespaceShort | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCollection: (params: { url: string; props?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; calendarMultiGet: (params: { url: string; @@ -425,27 +457,32 @@ declare const createDAVClient: (params: { depth: DAVDepth; filters?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCalendar: (params: { url: string; props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; syncCollection: (params: { url: string; props: xml_js.ElementCompact; headers?: Record | undefined; + headersToExclude?: string[] | undefined; syncLevel?: number | undefined; syncToken?: string | undefined; }) => Promise; supportedReportSet: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; isCollectionDirty: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise<{ isDirty: boolean; newCtag: string; @@ -456,6 +493,7 @@ declare const createDAVClient: (params: { props?: xml_js.ElementCompact | undefined; projectedProps?: Record | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; fetchCalendarObjects: (params: { calendar: DAVCalendar; @@ -468,6 +506,7 @@ declare const createDAVClient: (params: { expand?: boolean | undefined; urlFilter?: ((url: string) => boolean) | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; useMultiGet?: boolean | undefined; }) => Promise; createCalendarObject: (params: { @@ -475,20 +514,24 @@ declare const createDAVClient: (params: { iCalString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; syncCalendars: SyncCalendars; fetchAddressBooks: (params?: { account?: DAVAccount | undefined; props?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; addressBookMultiGet: (params: { url: string; @@ -503,20 +546,24 @@ declare const createDAVClient: (params: { objectUrls?: string[] | undefined; urlFilter?: ((url: string) => boolean) | undefined; useMultiGet?: boolean | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createVCard: (params: { addressBook: DAVCollection; vCardString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; }>; declare class DAVClient { @@ -581,6 +628,7 @@ declare class DAVClient { declare const createAccount: (params: { account: DAVAccount; headers?: Record; + headersToExclude?: string[]; loadCollections?: boolean; loadObjects?: boolean; }) => Promise; @@ -617,6 +665,7 @@ declare const _default: { conditionalParam: (key: string, param: T_1) => { [key: string]: T_1; }; + excludeHeaders: (headers: Record | undefined, headersToExclude: string[] | undefined) => Record; defaultParam: any>(fn: F, params: Partial[0]>) => (...args: Parameters) => ReturnType; getBasicAuthHeaders: (credentials: DAVCredentials) => { authorization?: string | undefined; @@ -639,6 +688,7 @@ declare const _default: { timezone?: string | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; calendarMultiGet: (params: { url: string; @@ -648,18 +698,21 @@ declare const _default: { depth: DAVDepth; filters?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCalendar: (params: { url: string; props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; fetchCalendars: (params?: { account?: DAVAccount | undefined; props?: xml_js.ElementCompact | undefined; projectedProps?: Record | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; fetchCalendarObjects: (params: { calendar: DAVCalendar; @@ -672,6 +725,7 @@ declare const _default: { expand?: boolean | undefined; urlFilter?: ((url: string) => boolean) | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; useMultiGet?: boolean | undefined; }) => Promise; createCalendarObject: (params: { @@ -679,14 +733,17 @@ declare const _default: { iCalString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; syncCalendars: SyncCalendars; freeBusyQuery: (params: { @@ -697,6 +754,7 @@ declare const _default: { }; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; addressBookQuery: (params: { url: string; @@ -704,6 +762,7 @@ declare const _default: { filters?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; addressBookMultiGet: (params: { url: string; @@ -716,6 +775,7 @@ declare const _default: { account?: DAVAccount | undefined; props?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; fetchVCards: (params: { addressBook: DAVCollection; @@ -723,36 +783,44 @@ declare const _default: { objectUrls?: string[] | undefined; urlFilter?: ((url: string) => boolean) | undefined; useMultiGet?: boolean | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createVCard: (params: { addressBook: DAVCollection; vCardString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; serviceDiscovery: (params: { account: DAVAccount; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; fetchPrincipalUrl: (params: { account: DAVAccount; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; fetchHomeUrl: (params: { account: DAVAccount; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createAccount: (params: { account: DAVAccount; headers?: Record | undefined; + headersToExclude?: string[] | undefined; loadCollections?: boolean | undefined; loadObjects?: boolean | undefined; }) => Promise; @@ -762,20 +830,24 @@ declare const _default: { depth?: DAVDepth | undefined; defaultNamespace?: DAVNamespaceShort | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCollection: (params: { url: string; props?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; supportedReportSet: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; isCollectionDirty: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise<{ isDirty: boolean; newCtag: string; @@ -784,6 +856,7 @@ declare const _default: { url: string; props: xml_js.ElementCompact; headers?: Record | undefined; + headersToExclude?: string[] | undefined; syncLevel?: number | undefined; syncToken?: string | undefined; }) => Promise; @@ -799,22 +872,26 @@ declare const _default: { props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createObject: (params: { url: string; data: BodyInit; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateObject: (params: { url: string; data: BodyInit; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteObject: (params: { url: string; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createDAVClient: (params: { serverUrl: string; @@ -834,6 +911,7 @@ declare const _default: { props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createAccount: (params0: { account: Optional; @@ -845,17 +923,20 @@ declare const _default: { url: string; data: BodyInit; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateObject: (params: { url: string; data: BodyInit; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteObject: (params: { url: string; etag?: string | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; calendarQuery: (params: { url: string; @@ -864,6 +945,7 @@ declare const _default: { timezone?: string | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; addressBookQuery: (params: { url: string; @@ -871,6 +953,7 @@ declare const _default: { filters?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; collectionQuery: (params: { url: string; @@ -878,12 +961,14 @@ declare const _default: { depth?: DAVDepth | undefined; defaultNamespace?: DAVNamespaceShort | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCollection: (params: { url: string; props?: xml_js.ElementCompact | undefined; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; calendarMultiGet: (params: { url: string; @@ -893,27 +978,32 @@ declare const _default: { depth: DAVDepth; filters?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; makeCalendar: (params: { url: string; props: xml_js.ElementCompact; depth?: DAVDepth | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; syncCollection: (params: { url: string; props: xml_js.ElementCompact; headers?: Record | undefined; + headersToExclude?: string[] | undefined; syncLevel?: number | undefined; syncToken?: string | undefined; }) => Promise; supportedReportSet: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; isCollectionDirty: (params: { collection: DAVCollection; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise<{ isDirty: boolean; newCtag: string; @@ -924,6 +1014,7 @@ declare const _default: { props?: xml_js.ElementCompact | undefined; projectedProps?: Record | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; fetchCalendarObjects: (params: { calendar: DAVCalendar; @@ -936,6 +1027,7 @@ declare const _default: { expand?: boolean | undefined; urlFilter?: ((url: string) => boolean) | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; useMultiGet?: boolean | undefined; }) => Promise; createCalendarObject: (params: { @@ -943,20 +1035,24 @@ declare const _default: { iCalString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteCalendarObject: (params: { calendarObject: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; syncCalendars: SyncCalendars; fetchAddressBooks: (params?: { account?: DAVAccount | undefined; props?: xml_js.ElementCompact | undefined; headers?: Record | undefined; + headersToExclude?: string[] | undefined; } | undefined) => Promise; addressBookMultiGet: (params: { url: string; @@ -971,20 +1067,24 @@ declare const _default: { objectUrls?: string[] | undefined; urlFilter?: ((url: string) => boolean) | undefined; useMultiGet?: boolean | undefined; + headersToExclude?: string[] | undefined; }) => Promise; createVCard: (params: { addressBook: DAVCollection; vCardString: string; filename: string; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; updateVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; deleteVCard: (params: { vCard: DAVObject; headers?: Record | undefined; + headersToExclude?: string[] | undefined; }) => Promise; }>; DAVClient: typeof DAVClient; diff --git a/dist/tsdav.esm.js b/dist/tsdav.esm.js index 8a747bd..6599b8b 100644 --- a/dist/tsdav.esm.js +++ b/dist/tsdav.esm.js @@ -140,11 +140,21 @@ const conditionalParam = (key, param) => { } return {}; }; +const excludeHeaders = (headers, headersToExclude) => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + return Object.fromEntries(Object.entries(headers).filter(([key]) => !headersToExclude.includes(key))); +}; var requestHelpers = /*#__PURE__*/Object.freeze({ __proto__: null, cleanupFalsy: cleanupFalsy, conditionalParam: conditionalParam, + excludeHeaders: excludeHeaders, getDAVAttribute: getDAVAttribute, urlContains: urlContains, urlEquals: urlEquals @@ -270,12 +280,12 @@ const davRequest = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { propfind: { @@ -293,22 +303,26 @@ const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, headers } = params; - return fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }); const updateObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); const deleteObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return fetch(url, { method: 'DELETE', - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); @@ -332,12 +346,12 @@ const findMissingFieldNames = (obj, fields) => fields.reduce((prev, curr) => (ob const debug$4 = getLogger('tsdav:collection'); const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers } = params; + const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers, headersToExclude, } = params; const queryResults = yield davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: defaultNamespace, body, }, @@ -349,12 +363,12 @@ const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* return queryResults; }); const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: props ? { @@ -370,27 +384,27 @@ const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* ( }); const supportedReportSet = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ((_e = (_d = (_c = (_b = (_a = res[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.supportedReportSet) === null || _c === void 0 ? void 0 : _c.supportedReport) === null || _d === void 0 ? void 0 : _d.map((sr) => Object.keys(sr.report)[0])) !== null && _e !== void 0 ? _e : []); }); const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function* () { var _f, _g, _h; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -405,13 +419,13 @@ const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function * This is for webdav sync-collection only */ const syncCollection = (params) => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: DAVNamespaceShort.DAV, - headers: Object.assign({}, headers), + headers: excludeHeaders(Object.assign({}, headers), headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -430,7 +444,7 @@ const syncCollection = (params) => { /** remote collection to local */ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, function* () { var _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -450,7 +464,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, syncLevel: 1, syncToken: collection.syncToken, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const objectResponses = result.filter((r) => { var _a; @@ -470,7 +484,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, objectUrls: changedObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })))) !== null && _l !== void 0 ? _l : [] : []; const remoteObjects = multiGetObjectResponse.map((res) => { @@ -511,10 +525,13 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi if (syncMethod === 'basic') { const { isDirty, newCtag } = yield isCollectionDirty({ collection, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const localObjects = (_s = collection.objects) !== null && _s !== void 0 ? _s : []; - const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { collection, headers })))) !== null && _u !== void 0 ? _u : []; + const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { + collection, + headers: excludeHeaders(headers, headersToExclude), + })))) !== null && _u !== void 0 ? _u : []; // no existing url const created = remoteObjects.filter((ro) => localObjects.every((lo) => !urlContains(lo.url, ro.url))); // debug(`created objects: ${created.map((o) => o.url).join('\n')}`); @@ -557,7 +574,7 @@ var collection = /*#__PURE__*/Object.freeze({ const debug$3 = getLogger('tsdav:addressBook'); const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -575,7 +592,7 @@ const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { @@ -595,7 +612,7 @@ const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, functi }); }); const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, props: customProps } = params !== null && params !== void 0 ? params : {}; + const { account, headers, props: customProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -612,7 +629,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('addressbook'); }) @@ -634,7 +651,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function }))); }); const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { addressBook, headers, objectUrls, headersToExclude, urlFilter = (url) => url, useMultiGet = true, } = params; debug$3(`Fetching vcards from ${addressBook === null || addressBook === void 0 ? void 0 : addressBook.url}`); const requiredFields = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -649,7 +666,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { url: addressBook.url, props: { [`${DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (res.ok ? (_a = res.href) !== null && _a !== void 0 ? _a : '' : ''); })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, addressBook.url).href)) .filter(urlFilter) @@ -665,7 +682,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -676,7 +693,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { [`${DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -690,28 +707,28 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), headersToExclude), }); }); const deleteVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); @@ -728,7 +745,7 @@ var addressBook = /*#__PURE__*/Object.freeze({ const debug$2 = getLogger('tsdav:calendar'); const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -746,11 +763,11 @@ const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -758,16 +775,16 @@ const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { [`${DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -785,7 +802,7 @@ const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () }); }); const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { headers, account, props: customProps, projectedProps } = params !== null && params !== void 0 ? params : {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -806,7 +823,7 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('calendar'); }) @@ -828,11 +845,14 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( : [(_m = rs.props) === null || _m === void 0 ? void 0 : _m.supportedCalendarComponentSet.comp._attributes.name], resourcetype: Object.keys((_o = rs.props) === null || _o === void 0 ? void 0 : _o.resourcetype), syncToken: (_p = rs.props) === null || _p === void 0 ? void 0 : _p.syncToken }, conditionalParam('projectedProps', Object.fromEntries(Object.entries((_q = rs.props) !== null && _q !== void 0 ? _q : {}).filter(([key]) => projectedProps === null || projectedProps === void 0 ? void 0 : projectedProps[key])))); }) .map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ collection: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); }); const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, } = params; + const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, headersToExclude, } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -902,7 +922,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (_a = res.href) !== null && _a !== void 0 ? _a : ''; })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, calendar.url).href)) // patch up to full url if url is not full .filter(urlFilter) // custom filter function on calendar objects @@ -933,7 +953,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -960,7 +980,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -974,37 +994,44 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }); }); const createCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), headersToExclude), }); }); const deleteCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }); /** * Sync remote calendars to local */ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a; - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = (_a = oldCalendars !== null && oldCalendars !== void 0 ? oldCalendars : account.calendars) !== null && _a !== void 0 ? _a : []; - const remoteCalendars = yield fetchCalendars({ account, headers }); + const remoteCalendars = yield fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => localCalendars.every((lc) => !urlContains(lc.url, rc.url))); debug$2(`new calendars: ${created.map((cc) => cc.displayName)}`); @@ -1023,7 +1050,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () const result = yield smartCollectionSync({ collection: Object.assign(Object.assign({}, u), { objectMultiGet: calendarMultiGet }), method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -1043,7 +1070,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () : [...unchanged, ...created, ...updatedWithObjects]; }); const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -1071,7 +1098,7 @@ const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }); @@ -1094,13 +1121,13 @@ const debug$1 = getLogger('tsdav:account'); const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; debug$1('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); uri.protocol = (_a = endpoint.protocol) !== null && _a !== void 0 ? _a : 'http'; try { const response = yield fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -1125,7 +1152,7 @@ const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* }); const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _c, _d, _e, _f, _g; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchPrincipalUrl`); @@ -1137,7 +1164,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug$1(`Fetch principal url failed: ${response.statusText}`); @@ -1150,7 +1177,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function }); const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchHomeUrl`); @@ -1162,7 +1189,7 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () ? { [`${DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); if (!matched || !matched.ok) { @@ -1175,29 +1202,50 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () return result; }); const createAccount = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { account, headers, loadCollections = false, loadObjects = false, headersToExclude, } = params; const newAccount = Object.assign({}, account); - newAccount.rootUrl = yield serviceDiscovery({ account, headers }); - newAccount.principalUrl = yield fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = yield fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = yield serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = yield fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = yield fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = yield fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = yield fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = yield fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = yield fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { if (account.accountType === 'caldav' && newAccount.calendars) { newAccount.calendars = yield Promise.all(newAccount.calendars.map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ calendar: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = yield Promise.all(newAccount.addressBooks.map((addr) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ addressBook: addr, headers }) })); + return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } } diff --git a/dist/tsdav.js b/dist/tsdav.js index 6165fc1..bf2f3b6 100644 --- a/dist/tsdav.js +++ b/dist/tsdav.js @@ -9052,11 +9052,21 @@ const conditionalParam = (key, param) => { } return {}; }; +const excludeHeaders = (headers, headersToExclude) => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + return Object.fromEntries(Object.entries(headers).filter(([key]) => !headersToExclude.includes(key))); +}; var requestHelpers = /*#__PURE__*/Object.freeze({ __proto__: null, cleanupFalsy: cleanupFalsy, conditionalParam: conditionalParam, + excludeHeaders: excludeHeaders, getDAVAttribute: getDAVAttribute, urlContains: urlContains, urlEquals: urlEquals @@ -9182,12 +9192,12 @@ const davRequest = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { propfind: { @@ -9205,22 +9215,26 @@ const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, headers } = params; - return browserPonyfillExports.fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return browserPonyfillExports.fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }); const updateObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return browserPonyfillExports.fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); const deleteObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return browserPonyfillExports.fetch(url, { method: 'DELETE', - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); @@ -9244,12 +9258,12 @@ const findMissingFieldNames = (obj, fields) => fields.reduce((prev, curr) => (ob const debug$4 = getLogger('tsdav:collection'); const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers } = params; + const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers, headersToExclude, } = params; const queryResults = yield davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: defaultNamespace, body, }, @@ -9261,12 +9275,12 @@ const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* return queryResults; }); const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: props ? { @@ -9282,27 +9296,27 @@ const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* ( }); const supportedReportSet = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ((_e = (_d = (_c = (_b = (_a = res[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.supportedReportSet) === null || _c === void 0 ? void 0 : _c.supportedReport) === null || _d === void 0 ? void 0 : _d.map((sr) => Object.keys(sr.report)[0])) !== null && _e !== void 0 ? _e : []); }); const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function* () { var _f, _g, _h; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -9317,13 +9331,13 @@ const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function * This is for webdav sync-collection only */ const syncCollection = (params) => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: DAVNamespaceShort.DAV, - headers: Object.assign({}, headers), + headers: excludeHeaders(Object.assign({}, headers), headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -9342,7 +9356,7 @@ const syncCollection = (params) => { /** remote collection to local */ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, function* () { var _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -9362,7 +9376,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, syncLevel: 1, syncToken: collection.syncToken, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const objectResponses = result.filter((r) => { var _a; @@ -9382,7 +9396,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, objectUrls: changedObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })))) !== null && _l !== void 0 ? _l : [] : []; const remoteObjects = multiGetObjectResponse.map((res) => { @@ -9423,10 +9437,13 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi if (syncMethod === 'basic') { const { isDirty, newCtag } = yield isCollectionDirty({ collection, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const localObjects = (_s = collection.objects) !== null && _s !== void 0 ? _s : []; - const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { collection, headers })))) !== null && _u !== void 0 ? _u : []; + const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { + collection, + headers: excludeHeaders(headers, headersToExclude), + })))) !== null && _u !== void 0 ? _u : []; // no existing url const created = remoteObjects.filter((ro) => localObjects.every((lo) => !urlContains(lo.url, ro.url))); // debug(`created objects: ${created.map((o) => o.url).join('\n')}`); @@ -9469,7 +9486,7 @@ var collection = /*#__PURE__*/Object.freeze({ const debug$3 = getLogger('tsdav:addressBook'); const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -9487,7 +9504,7 @@ const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { @@ -9507,7 +9524,7 @@ const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, functi }); }); const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, props: customProps } = params !== null && params !== void 0 ? params : {}; + const { account, headers, props: customProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -9524,7 +9541,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('addressbook'); }) @@ -9546,7 +9563,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function }))); }); const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { addressBook, headers, objectUrls, headersToExclude, urlFilter = (url) => url, useMultiGet = true, } = params; debug$3(`Fetching vcards from ${addressBook === null || addressBook === void 0 ? void 0 : addressBook.url}`); const requiredFields = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -9561,7 +9578,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { url: addressBook.url, props: { [`${DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (res.ok ? (_a = res.href) !== null && _a !== void 0 ? _a : '' : ''); })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, addressBook.url).href)) .filter(urlFilter) @@ -9577,7 +9594,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -9588,7 +9605,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { [`${DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -9602,28 +9619,28 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), headersToExclude), }); }); const deleteVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); @@ -9640,7 +9657,7 @@ var addressBook = /*#__PURE__*/Object.freeze({ const debug$2 = getLogger('tsdav:calendar'); const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -9658,11 +9675,11 @@ const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -9670,16 +9687,16 @@ const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { [`${DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -9697,7 +9714,7 @@ const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () }); }); const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { headers, account, props: customProps, projectedProps } = params !== null && params !== void 0 ? params : {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -9718,7 +9735,7 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('calendar'); }) @@ -9740,11 +9757,14 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( : [(_m = rs.props) === null || _m === void 0 ? void 0 : _m.supportedCalendarComponentSet.comp._attributes.name], resourcetype: Object.keys((_o = rs.props) === null || _o === void 0 ? void 0 : _o.resourcetype), syncToken: (_p = rs.props) === null || _p === void 0 ? void 0 : _p.syncToken }, conditionalParam('projectedProps', Object.fromEntries(Object.entries((_q = rs.props) !== null && _q !== void 0 ? _q : {}).filter(([key]) => projectedProps === null || projectedProps === void 0 ? void 0 : projectedProps[key])))); }) .map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ collection: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); }); const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, } = params; + const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, headersToExclude, } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -9814,7 +9834,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (_a = res.href) !== null && _a !== void 0 ? _a : ''; })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, calendar.url).href)) // patch up to full url if url is not full .filter(urlFilter) // custom filter function on calendar objects @@ -9845,7 +9865,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -9872,7 +9892,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -9886,37 +9906,44 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }); }); const createCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), headersToExclude), }); }); const deleteCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }); /** * Sync remote calendars to local */ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a; - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = (_a = oldCalendars !== null && oldCalendars !== void 0 ? oldCalendars : account.calendars) !== null && _a !== void 0 ? _a : []; - const remoteCalendars = yield fetchCalendars({ account, headers }); + const remoteCalendars = yield fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => localCalendars.every((lc) => !urlContains(lc.url, rc.url))); debug$2(`new calendars: ${created.map((cc) => cc.displayName)}`); @@ -9935,7 +9962,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () const result = yield smartCollectionSync({ collection: Object.assign(Object.assign({}, u), { objectMultiGet: calendarMultiGet }), method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -9955,7 +9982,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () : [...unchanged, ...created, ...updatedWithObjects]; }); const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -9983,7 +10010,7 @@ const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }); @@ -10006,13 +10033,13 @@ const debug$1 = getLogger('tsdav:account'); const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; debug$1('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); uri.protocol = (_a = endpoint.protocol) !== null && _a !== void 0 ? _a : 'http'; try { const response = yield browserPonyfillExports.fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -10037,7 +10064,7 @@ const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* }); const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _c, _d, _e, _f, _g; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchPrincipalUrl`); @@ -10049,7 +10076,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug$1(`Fetch principal url failed: ${response.statusText}`); @@ -10062,7 +10089,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function }); const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchHomeUrl`); @@ -10074,7 +10101,7 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () ? { [`${DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); if (!matched || !matched.ok) { @@ -10087,29 +10114,50 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () return result; }); const createAccount = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { account, headers, loadCollections = false, loadObjects = false, headersToExclude, } = params; const newAccount = Object.assign({}, account); - newAccount.rootUrl = yield serviceDiscovery({ account, headers }); - newAccount.principalUrl = yield fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = yield fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = yield serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = yield fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = yield fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = yield fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = yield fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = yield fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = yield fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { if (account.accountType === 'caldav' && newAccount.calendars) { newAccount.calendars = yield Promise.all(newAccount.calendars.map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ calendar: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = yield Promise.all(newAccount.addressBooks.map((addr) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ addressBook: addr, headers }) })); + return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } } diff --git a/dist/tsdav.min.cjs b/dist/tsdav.min.cjs index 81f1b1c..e45197e 100644 --- a/dist/tsdav.min.cjs +++ b/dist/tsdav.min.cjs @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("cross-fetch"),r=require("debug"),o=require("xml-js"),a=require("base-64");function s(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},u=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim();if(Math.abs(r.length-o.length)>1)return!1;const a="/"===r.slice(-1)?r.slice(0,-1):r,s="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(s)||t.includes(a)},p=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim(),a="/"===r.slice(-1)?r.slice(0,-1):r,s="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(s)||t.includes(a)},h=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[d[t]]:t})),{}),v=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),f=(e,t)=>t?{[e]:t}:{};var m=Object.freeze({__proto__:null,cleanupFalsy:v,conditionalParam:f,getDAVAttribute:h,urlContains:p,urlEquals:u});const A=r("tsdav:request"),D=e=>n(void 0,void 0,void 0,(function*(){var r;const{url:a,init:s,convertIncoming:n=!0,parseOutgoing:d=!0}=e,{headers:i={},body:c,namespace:u,method:p,attributes:h}=s,f=n?o.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},c),{_attributes:h}),{compact:!0,spaces:2,elementNameFn:e=>u&&!/^.+:.+/.test(e)?`${u}:${e}`:e}):c,m=yield t.fetch(a,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},v(i)),body:f,method:p}),D=yield m.text();if(!m.ok||!(null===(r=m.headers.get("content-type"))||void 0===r?void 0:r.includes("xml"))||!d)return[{href:m.url,ok:m.ok,status:m.status,statusText:m.statusText,raw:D}];const g=o.xml2js(D,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,o=Object.keys(r),a=o[o.length-1],s=r[a];if(s.length>0){s[s.length-1]=l(e)}else r[a]=l(e)}catch(e){A(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(g.multistatus.response)?g.multistatus.response:[g.multistatus.response]).map((e=>{var t,r;if(!e)return{status:m.status,statusText:m.statusText,ok:m.ok};const o=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:g,href:e.href,status:(null==o?void 0:o.groups)?Number.parseInt(null==o?void 0:o.groups.status,10):m.status,statusText:null!==(r=null===(t=null==o?void 0:o.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:m.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),g=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return D({url:t,init:{method:"PROPFIND",headers:v(Object.assign({depth:o},a)),namespace:exports.DAVNamespaceShort.DAV,body:{propfind:{_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALDAV_APPLE,exports.DAVNamespace.CALENDAR_SERVER,exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),prop:r}}}})})),y=e=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,headers:a}=e;return t.fetch(r,{method:"PUT",body:o,headers:a})})),b=e=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,etag:a,headers:s}=e;return t.fetch(r,{method:"PUT",body:o,headers:v(Object.assign({"If-Match":a},s))})})),V=e=>n(void 0,void 0,void 0,(function*(){const{url:r,headers:o,etag:a}=e;return t.fetch(r,{method:"DELETE",headers:v(Object.assign({"If-Match":a},o))})}));var O=Object.freeze({__proto__:null,createObject:y,davRequest:D,deleteObject:V,propfind:g,updateObject:b});function x(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const C=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),j=r("tsdav:collection"),S=e=>n(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:o,defaultNamespace:a=exports.DAVNamespaceShort.DAV,headers:s}=e,n=yield D({url:t,init:{method:"REPORT",headers:v(Object.assign({depth:o},s)),namespace:a,body:r}});return 1!==n.length||n[0].raw?n:[]})),N=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return D({url:t,init:{method:"MKCOL",headers:v(Object.assign({depth:o},a)),namespace:exports.DAVNamespaceShort.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),k=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s;const{collection:n,headers:d}=e;return null!==(s=null===(a=null===(o=null===(r=null===(t=(yield g({url:n.url,props:{[`${exports.DAVNamespaceShort.DAV}:supported-report-set`]:{}},depth:"0",headers:d}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===o?void 0:o.supportedReport)||void 0===a?void 0:a.map((e=>Object.keys(e.report)[0])))&&void 0!==s?s:[]})),$=e=>n(void 0,void 0,void 0,(function*(){var t,r,o;const{collection:a,headers:s}=e,n=(yield g({url:a.url,props:{[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:s})).filter((e=>p(a.url,e.href)))[0];if(!n)throw new Error("Collection does not exist on server");return{isDirty:a.ctag!==(null===(t=n.props)||void 0===t?void 0:t.getctag),newCtag:null===(o=null===(r=n.props)||void 0===r?void 0:r.getctag)||void 0===o?void 0:o.toString()}})),w=e=>{const{url:t,props:r,headers:o,syncLevel:a,syncToken:s}=e;return D({url:t,init:{method:"REPORT",namespace:exports.DAVNamespaceShort.DAV,headers:Object.assign({},o),body:{"sync-collection":{_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),"sync-level":a,"sync-token":s,[`${exports.DAVNamespaceShort.DAV}:prop`]:r}}}})},_=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s,n,d,i,c,l,u;const{collection:h,method:v,headers:f,account:m,detailedResult:A}=e,D=["accountType","homeUrl"];if(!m||!x(m,D)){if(!m)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${C(m,D)} before smartCollectionSync`)}const g=null!=v?v:(null===(t=h.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if(j(`smart collection sync with type ${m.accountType} and method ${g}`),"webdav"===g){const e=yield w({url:h.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${"caldav"===m.accountType?exports.DAVNamespaceShort.CALDAV:exports.DAVNamespaceShort.CARDDAV}:${"caldav"===m.accountType?"calendar-data":"address-data"}`]:{},[`${exports.DAVNamespaceShort.DAV}:displayname`]:{}},syncLevel:1,syncToken:h.syncToken,headers:f}),t=e.filter((e=>{var t;const r="caldav"===m.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),c=t.filter((e=>404!==e.status)).map((e=>e.href)),l=t.filter((e=>404===e.status)).map((e=>e.href)),u=(c.length&&null!==(o=yield null===(r=null==h?void 0:h.objectMultiGet)||void 0===r?void 0:r.call(h,{url:h.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${"caldav"===m.accountType?exports.DAVNamespaceShort.CALDAV:exports.DAVNamespaceShort.CARDDAV}:${"caldav"===m.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:c,depth:"1",headers:f}))&&void 0!==o?o:[]).map((e=>{var t,r,o,a,s,n,d,i,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==m?void 0:m.accountType)?null!==(s=null===(a=null===(o=e.props)||void 0===o?void 0:o.calendarData)||void 0===a?void 0:a._cdata)&&void 0!==s?s:null===(n=e.props)||void 0===n?void 0:n.calendarData:null!==(c=null===(i=null===(d=e.props)||void 0===d?void 0:d.addressData)||void 0===i?void 0:i._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),v=null!==(a=h.objects)&&void 0!==a?a:[],D=u.filter((e=>v.every((t=>!p(t.url,e.url))))),g=v.reduce(((e,t)=>{const r=u.find((e=>p(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),y=l.map((e=>({url:e,etag:""}))),b=v.filter((e=>u.some((t=>p(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},h),{objects:A?{created:D,updated:g,deleted:y}:[...b,...D,...g],syncToken:null!==(i=null===(d=null===(n=null===(s=e[0])||void 0===s?void 0:s.raw)||void 0===n?void 0:n.multistatus)||void 0===d?void 0:d.syncToken)&&void 0!==i?i:h.syncToken})}if("basic"===g){const{isDirty:e,newCtag:t}=yield $({collection:h,headers:f}),r=null!==(c=h.objects)&&void 0!==c?c:[],o=null!==(u=yield null===(l=h.fetchObjects)||void 0===l?void 0:l.call(h,{collection:h,headers:f}))&&void 0!==u?u:[],a=o.filter((e=>r.every((t=>!p(t.url,e.url))))),s=r.reduce(((e,t)=>{const r=o.find((e=>p(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),n=r.filter((e=>o.every((t=>!p(t.url,e.url))))),d=r.filter((e=>o.some((t=>p(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},h),{objects:A?{created:a,updated:s,deleted:n}:[...d,...a,...s],ctag:t})}return A?Object.assign(Object.assign({},h),{objects:{created:[],updated:[],deleted:[]}}):h}));var R=Object.freeze({__proto__:null,collectionQuery:S,isCollectionDirty:$,makeCollection:N,smartCollectionSync:_,supportedReportSet:k,syncCollection:w});const E=r("tsdav:addressBook"),U=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,depth:a,headers:s}=e;return S({url:t,body:{"addressbook-query":{_attributes:h([exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,filter:null!=o?o:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:exports.DAVNamespaceShort.CARDDAV,depth:a,headers:s})})),T=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,depth:a,headers:s}=e;return S({url:t,body:{"addressbook-multiget":{_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CARDDAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,[`${exports.DAVNamespaceShort.DAV}:href`]:o}},defaultNamespace:exports.DAVNamespaceShort.CARDDAV,depth:a,headers:s})})),L=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,props:o}=null!=e?e:{},a=["homeUrl","rootUrl"];if(!t||!x(t,a)){if(!t)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${C(t,a)} before fetchAddressBooks`)}const s=yield g({url:t.homeUrl,props:null!=o?o:{[`${exports.DAVNamespaceShort.DAV}:displayname`]:{},[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{},[`${exports.DAVNamespaceShort.DAV}:resourcetype`]:{},[`${exports.DAVNamespaceShort.DAV}:sync-token`]:{}},depth:"1",headers:r});return Promise.all(s.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var r,o,a,s,n,d,i,c,l;const u=null!==(a=null===(o=null===(r=e.props)||void 0===r?void 0:r.displayname)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.displayname;return E(`Found address book named ${"string"==typeof u?u:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(n=e.href)&&void 0!==n?n:"",null!==(d=t.rootUrl)&&void 0!==d?d:"").href,ctag:null===(i=e.props)||void 0===i?void 0:i.getctag,displayName:"string"==typeof u?u:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:r})})})))))})),P=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:o,urlFilter:a=(e=>e),useMultiGet:s=!0}=e;E(`Fetching vcards from ${null==t?void 0:t.url}`);const n=["url"];if(!t||!x(t,n)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${C(t,n)} before fetchVCards`)}const d=(null!=o?o:(yield U({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{}},depth:"1",headers:r})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(a).map((e=>new URL(e).pathname));let i=[];return d.length>0&&(i=s?yield T({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CARDDAV}:address-data`]:{}},objectUrls:d,depth:"1",headers:r}):yield U({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CARDDAV}:address-data`]:{}},depth:"1",headers:r})),i.map((e=>{var r,o,a,s,n,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(o=e.props)||void 0===o?void 0:o.getetag,data:null!==(n=null===(s=null===(a=e.props)||void 0===a?void 0:a.addressData)||void 0===s?void 0:s._cdata)&&void 0!==n?n:null===(d=e.props)||void 0===d?void 0:d.addressData}}))})),H=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:o,headers:a}=e;return y({url:new URL(o,t.url).href,data:r,headers:Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},a)})})),B=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return b({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/vcard; charset=utf-8"},r)})})),I=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return V({url:t.url,etag:t.etag,headers:r})}));var M=Object.freeze({__proto__:null,addressBookMultiGet:T,addressBookQuery:U,createVCard:H,deleteVCard:I,fetchAddressBooks:L,fetchVCards:P,updateVCard:B});const F=r("tsdav:calendar"),z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,timezone:a,depth:s,headers:n}=e;return S({url:t,body:{"calendar-query":v({_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALENDAR_SERVER,exports.DAVNamespace.CALDAV_APPLE,exports.DAVNamespace.DAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,filter:o,timezone:a})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:s,headers:n})})),Z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,filters:a,timezone:s,depth:n,headers:d}=e;return S({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CALDAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,[`${exports.DAVNamespaceShort.DAV}:href`]:o},f("filter",a)),{timezone:s})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:n,headers:d})})),q=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return D({url:t,init:{method:"MKCALENDAR",headers:v(Object.assign({depth:o},a)),namespace:exports.DAVNamespaceShort.DAV,body:{[`${exports.DAVNamespaceShort.CALDAV}:mkcalendar`]:{_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALDAV_APPLE]),set:{prop:r}}}}})})),Q=e=>n(void 0,void 0,void 0,(function*(){const{headers:t,account:r,props:o,projectedProps:a}=null!=e?e:{},s=["homeUrl","rootUrl"];if(!r||!x(r,s)){if(!r)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${C(r,s)} before fetchCalendars`)}const d=yield g({url:r.homeUrl,props:null!=o?o:{[`${exports.DAVNamespaceShort.CALDAV}:calendar-description`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-timezone`]:{},[`${exports.DAVNamespaceShort.DAV}:displayname`]:{},[`${exports.DAVNamespaceShort.CALDAV_APPLE}:calendar-color`]:{},[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{},[`${exports.DAVNamespaceShort.DAV}:resourcetype`]:{},[`${exports.DAVNamespaceShort.CALDAV}:supported-calendar-component-set`]:{},[`${exports.DAVNamespaceShort.DAV}:sync-token`]:{}},depth:"1",headers:t});return Promise.all(d.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,o;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(o=e.props)||void 0===o?void 0:o.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(c).includes(e)))})).map((e=>{var t,o,s,n,d,i,c,l,u,p,h,v,m,A,D;const g=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,y=null===(o=e.props)||void 0===o?void 0:o.calendarTimezone;return Object.assign({description:"string"==typeof g?g:"",timezone:"string"==typeof y?y:"",url:new URL(null!==(s=e.href)&&void 0!==s?s:"",null!==(n=r.rootUrl)&&void 0!==n?n:"").href,ctag:null===(d=e.props)||void 0===d?void 0:d.getctag,calendarColor:null===(i=e.props)||void 0===i?void 0:i.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(u=e.props)||void 0===u?void 0:u.displayname,components:Array.isArray(null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp)?null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(v=e.props)||void 0===v?void 0:v.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(m=e.props)||void 0===m?void 0:m.resourcetype),syncToken:null===(A=e.props)||void 0===A?void 0:A.syncToken},f("projectedProps",Object.fromEntries(Object.entries(null!==(D=e.props)&&void 0!==D?D:{}).filter((([e])=>null==a?void 0:a[e])))))})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:t})})})))))})),G=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:o,timeRange:a,headers:s,expand:n,urlFilter:d=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:i=!0}=e;if(a){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(a.start)&&e.test(a.end)||t.test(a.start)&&t.test(a.end)))throw new Error("invalid timeRange format, not in ISO8601")}F(`Fetching calendar objects from ${null==t?void 0:t.url}`);const c=["url"];if(!t||!x(t,c)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${C(t,c)} before fetchCalendarObjects`)}const l=null!=o?o:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},a?{"time-range":{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],u=(null!=r?r:(yield z({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:l,depth:"1",headers:s})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(d).map((e=>new URL(e).pathname));let p=[];return u.length>0&&(p=!i||n?yield z({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-data`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:l,depth:"1",headers:s}):yield Z({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-data`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:u,depth:"1",headers:s})),p.map((e=>{var r,o,a,s,n,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(o=e.props)||void 0===o?void 0:o.getetag}`,data:null!==(n=null===(s=null===(a=e.props)||void 0===a?void 0:a.calendarData)||void 0===s?void 0:s._cdata)&&void 0!==n?n:null===(d=e.props)||void 0===d?void 0:d.calendarData}}))})),J=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:o,headers:a}=e;return y({url:new URL(o,t.url).href,data:r,headers:Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},a)})})),K=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return b({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/calendar; charset=utf-8"},r)})})),W=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return V({url:t.url,etag:t.etag,headers:r})})),Y=e=>n(void 0,void 0,void 0,(function*(){var t;const{oldCalendars:r,account:o,detailedResult:a,headers:s}=e;if(!o)throw new Error("Must have account before syncCalendars");const d=null!==(t=null!=r?r:o.calendars)&&void 0!==t?t:[],i=yield Q({account:o,headers:s}),c=i.filter((e=>d.every((t=>!p(t.url,e.url)))));F(`new calendars: ${c.map((e=>e.displayName))}`);const l=d.reduce(((e,t)=>{const r=i.find((e=>p(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);F(`updated calendars: ${l.map((e=>e.displayName))}`);const u=yield Promise.all(l.map((e=>n(void 0,void 0,void 0,(function*(){return yield _({collection:Object.assign(Object.assign({},e),{objectMultiGet:Z}),method:"webdav",headers:s,account:o})}))))),h=d.filter((e=>i.every((t=>!p(t.url,e.url)))));F(`deleted calendars: ${h.map((e=>e.displayName))}`);const v=d.filter((e=>i.some((t=>p(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return a?{created:c,updated:l,deleted:h}:[...v,...c,...u]})),X=e=>n(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:o,headers:a}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield S({url:t,body:{"free-busy-query":v({_attributes:h([exports.DAVNamespace.CALDAV]),[`${exports.DAVNamespaceShort.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:o,headers:a}))[0]}));var ee=Object.freeze({__proto__:null,calendarMultiGet:Z,calendarQuery:z,createCalendarObject:J,deleteCalendarObject:W,fetchCalendarObjects:G,fetchCalendars:Q,freeBusyQuery:X,makeCalendar:q,syncCalendars:Y,updateCalendarObject:K});const te=r("tsdav:account"),re=e=>n(void 0,void 0,void 0,(function*(){var r,o;te("Service discovery...");const{account:a,headers:s}=e,n=new URL(a.serverUrl),d=new URL(`/.well-known/${a.accountType}`,n);d.protocol=null!==(r=n.protocol)&&void 0!==r?r:"http";try{const e=yield t.fetch(d.href,{headers:s,method:"PROPFIND",redirect:"manual"});if(e.status>=300&&e.status<400){const t=e.headers.get("Location");if("string"==typeof t&&t.length){te(`Service discovery redirected to ${t}`);const e=new URL(t,n);return e.hostname===d.hostname&&d.port&&!e.port&&(e.port=d.port),e.protocol=null!==(o=n.protocol)&&void 0!==o?o:"http",e.href}}}catch(e){te(`Service discovery failed: ${e.stack}`)}return n.href})),oe=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s;const{account:n,headers:d}=e,i=["rootUrl"];if(!x(n,i))throw new Error(`account must have ${C(n,i)} before fetchPrincipalUrl`);te(`Fetching principal url from path ${n.rootUrl}`);const[c]=yield g({url:n.rootUrl,props:{[`${exports.DAVNamespaceShort.DAV}:current-user-principal`]:{}},depth:"0",headers:d});if(!c.ok&&(te(`Fetch principal url failed: ${c.statusText}`),401===c.status))throw new Error("Invalid credentials");return te(`Fetched principal url ${null===(r=null===(t=c.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(s=null===(a=null===(o=c.props)||void 0===o?void 0:o.currentUserPrincipal)||void 0===a?void 0:a.href)&&void 0!==s?s:"",n.rootUrl).href})),ae=e=>n(void 0,void 0,void 0,(function*(){var t,r;const{account:o,headers:a}=e,s=["principalUrl","rootUrl"];if(!x(o,s))throw new Error(`account must have ${C(o,s)} before fetchHomeUrl`);te(`Fetch home url from ${o.principalUrl}`);const n=(yield g({url:o.principalUrl,props:"caldav"===o.accountType?{[`${exports.DAVNamespaceShort.CALDAV}:calendar-home-set`]:{}}:{[`${exports.DAVNamespaceShort.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:a})).find((e=>p(o.principalUrl,e.href)));if(!n||!n.ok)throw new Error("cannot find homeUrl");const d=new URL("caldav"===o.accountType?null===(t=null==n?void 0:n.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==n?void 0:n.props)||void 0===r?void 0:r.addressbookHomeSet.href,o.rootUrl).href;return te(`Fetched home url ${d}`),d})),se=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o=!1,loadObjects:a=!1}=e,s=Object.assign({},t);return s.rootUrl=yield re({account:t,headers:r}),s.principalUrl=yield oe({account:s,headers:r}),s.homeUrl=yield ae({account:s,headers:r}),(o||a)&&("caldav"===t.accountType?s.calendars=yield Q({headers:r,account:s}):"carddav"===t.accountType&&(s.addressBooks=yield L({headers:r,account:s}))),a&&("caldav"===t.accountType&&s.calendars?s.calendars=yield Promise.all(s.calendars.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield G({calendar:e,headers:r})})}))))):"carddav"===t.accountType&&s.addressBooks&&(s.addressBooks=yield Promise.all(s.addressBooks.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield P({addressBook:e,headers:r})})}))))))),s}));var ne=Object.freeze({__proto__:null,createAccount:se,fetchHomeUrl:ae,fetchPrincipalUrl:oe,serviceDiscovery:re});const de=r("tsdav:authHelper"),ie=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),ce=e=>(de(`Basic auth token generated: ${a.encode(`${e.username}:${e.password}`)}`),{authorization:`Basic ${a.encode(`${e.username}:${e.password}`)}`}),le=e=>n(void 0,void 0,void 0,(function*(){const r=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!x(e,r))throw new Error(`Oauth credentials missing: ${C(e,r)}`);const o=new URLSearchParams({grant_type:"authorization_code",code:e.authorizationCode,redirect_uri:e.redirectUrl,client_id:e.clientId,client_secret:e.clientSecret});de(e.tokenUrl),de(o.toString());const a=yield t.fetch(e.tokenUrl,{method:"POST",body:o.toString(),headers:{"content-length":`${o.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return de(`Fetch Oauth tokens failed: ${yield a.text()}`),{}})),ue=e=>n(void 0,void 0,void 0,(function*(){const r=["refreshToken","clientId","clientSecret","tokenUrl"];if(!x(e,r))throw new Error(`Oauth credentials missing: ${C(e,r)}`);const o=new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,refresh_token:e.refreshToken,grant_type:"refresh_token"}),a=yield t.fetch(e.tokenUrl,{method:"POST",body:o.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return de(`Refresh access token failed: ${yield a.text()}`),{}})),pe=e=>n(void 0,void 0,void 0,(function*(){var t;de("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield ue(e)):r=yield le(e),de(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var he=Object.freeze({__proto__:null,defaultParam:ie,fetchOauthTokens:le,getBasicAuthHeaders:ce,getOauthHeaders:pe,refreshAccessToken:ue});const ve=e=>n(void 0,void 0,void 0,(function*(){var t;const{serverUrl:r,credentials:o,authMethod:a,defaultAccountType:d,authFunction:i}=e;let c={};switch(a){case"Basic":c=ce(o);break;case"Oauth":c=(yield pe(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(t=yield null==i?void 0:i(o))&&void 0!==t?t:{};break;default:throw new Error("Invalid auth method")}const l=d?yield se({account:{serverUrl:r,credentials:o,accountType:d},headers:c}):void 0,u=ie(y,{url:r,headers:c}),p=ie(b,{headers:c,url:r}),h=ie(V,{headers:c,url:r}),v=ie(g,{headers:c}),f=ie(S,{headers:c}),m=ie(N,{headers:c}),A=ie(w,{headers:c}),O=ie(k,{headers:c}),x=ie($,{headers:c}),C=ie(_,{headers:c,account:l}),j=ie(z,{headers:c}),R=ie(Z,{headers:c}),E=ie(q,{headers:c}),M=ie(Q,{headers:c,account:l}),F=ie(G,{headers:c}),X=ie(J,{headers:c}),ee=ie(K,{headers:c}),te=ie(W,{headers:c}),re=ie(Y,{account:l,headers:c}),oe=ie(U,{headers:c}),ae=ie(T,{headers:c});return{davRequest:e=>n(void 0,void 0,void 0,(function*(){const{init:t}=e,r=s(e,["init"]),{headers:o}=t,a=s(t,["headers"]);return D(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},a),{headers:Object.assign(Object.assign({},c),o)})}))})),propfind:v,createAccount:e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:a,loadCollections:s,loadObjects:n}=e;return se({account:Object.assign({serverUrl:r,credentials:o},t),headers:Object.assign(Object.assign({},c),a),loadCollections:s,loadObjects:n})})),createObject:u,updateObject:p,deleteObject:h,calendarQuery:j,addressBookQuery:oe,collectionQuery:f,makeCollection:m,calendarMultiGet:R,makeCalendar:E,syncCollection:A,supportedReportSet:O,isCollectionDirty:x,smartCollectionSync:C,fetchCalendars:M,fetchCalendarObjects:F,createCalendarObject:X,updateCalendarObject:ee,deleteCalendarObject:te,syncCalendars:re,fetchAddressBooks:ie(L,{account:l,headers:c}),addressBookMultiGet:ae,fetchVCards:ie(P,{headers:c}),createVCard:ie(H,{headers:c}),updateVCard:ie(B,{headers:c}),deleteVCard:ie(I,{headers:c})}}));class fe{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return n(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=ce(this.credentials);break;case"Oauth":this.authHeaders=(yield pe(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield se({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(e){return n(this,void 0,void 0,(function*(){const{init:t}=e,r=s(e,["init"]),{headers:o}=t,a=s(t,["headers"]);return D(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},a),{headers:Object.assign(Object.assign({},this.authHeaders),o)})}))}))}createObject(...e){return n(this,void 0,void 0,(function*(){return ie(y,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return n(this,void 0,void 0,(function*(){return ie(b,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return n(this,void 0,void 0,(function*(){return ie(V,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return n(this,void 0,void 0,(function*(){return ie(g,{headers:this.authHeaders})(e[0])}))}createAccount(e){return n(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o,loadObjects:a}=e;return se({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:o,loadObjects:a})}))}collectionQuery(...e){return n(this,void 0,void 0,(function*(){return ie(S,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return n(this,void 0,void 0,(function*(){return ie(N,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return n(this,void 0,void 0,(function*(){return ie(w,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return n(this,void 0,void 0,(function*(){return ie(k,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return n(this,void 0,void 0,(function*(){return ie($,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return n(this,void 0,void 0,(function*(){return ie(_,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return n(this,void 0,void 0,(function*(){return ie(z,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return n(this,void 0,void 0,(function*(){return ie(q,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return n(this,void 0,void 0,(function*(){return ie(Z,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return n(this,void 0,void 0,(function*(){return ie(Q,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return n(this,void 0,void 0,(function*(){return ie(G,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(J,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(K,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(W,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return n(this,void 0,void 0,(function*(){return ie(Y,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return n(this,void 0,void 0,(function*(){return ie(U,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return n(this,void 0,void 0,(function*(){return ie(T,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return n(this,void 0,void 0,(function*(){return ie(L,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return n(this,void 0,void 0,(function*(){return ie(P,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return n(this,void 0,void 0,(function*(){return ie(H,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return n(this,void 0,void 0,(function*(){return ie(B,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return n(this,void 0,void 0,(function*(){return ie(I,{headers:this.authHeaders})(e[0])}))}}var me=Object.freeze({__proto__:null,DAVClient:fe,createDAVClient:ve}),Ae=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:exports.DAVNamespace,DAVNamespaceShort:exports.DAVNamespaceShort,DAVAttributeMap:d},me),O),R),ne),M),ee),he),m);exports.DAVAttributeMap=d,exports.DAVClient=fe,exports.addressBookQuery=U,exports.calendarMultiGet=Z,exports.calendarQuery=z,exports.cleanupFalsy=v,exports.collectionQuery=S,exports.createAccount=se,exports.createCalendarObject=J,exports.createDAVClient=ve,exports.createObject=y,exports.createVCard=H,exports.davRequest=D,exports.default=Ae,exports.deleteCalendarObject=W,exports.deleteObject=V,exports.deleteVCard=I,exports.fetchAddressBooks=L,exports.fetchCalendarObjects=G,exports.fetchCalendars=Q,exports.fetchOauthTokens=le,exports.fetchVCards=P,exports.freeBusyQuery=X,exports.getBasicAuthHeaders=ce,exports.getDAVAttribute=h,exports.getOauthHeaders=pe,exports.isCollectionDirty=$,exports.makeCalendar=q,exports.propfind=g,exports.refreshAccessToken=ue,exports.smartCollectionSync=_,exports.supportedReportSet=k,exports.syncCalendars=Y,exports.syncCollection=w,exports.updateCalendarObject=K,exports.updateObject=b,exports.updateVCard=B,exports.urlContains=p,exports.urlEquals=u; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("cross-fetch"),r=require("debug"),o=require("xml-js"),a=require("base-64");function s(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},u=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim();if(Math.abs(r.length-o.length)>1)return!1;const a="/"===r.slice(-1)?r.slice(0,-1):r,s="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(s)||t.includes(a)},p=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim(),a="/"===r.slice(-1)?r.slice(0,-1):r,s="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(s)||t.includes(a)},h=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[d[t]]:t})),{}),v=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),f=(e,t)=>t?{[e]:t}:{},m=(e,t)=>e?t&&0!==t.length?Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e)))):e:{};var A=Object.freeze({__proto__:null,cleanupFalsy:v,conditionalParam:f,excludeHeaders:m,getDAVAttribute:h,urlContains:p,urlEquals:u});const D=r("tsdav:request"),g=e=>n(void 0,void 0,void 0,(function*(){var r;const{url:a,init:s,convertIncoming:n=!0,parseOutgoing:d=!0}=e,{headers:i={},body:c,namespace:u,method:p,attributes:h}=s,f=n?o.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},c),{_attributes:h}),{compact:!0,spaces:2,elementNameFn:e=>u&&!/^.+:.+/.test(e)?`${u}:${e}`:e}):c,m=yield t.fetch(a,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},v(i)),body:f,method:p}),A=yield m.text();if(!m.ok||!(null===(r=m.headers.get("content-type"))||void 0===r?void 0:r.includes("xml"))||!d)return[{href:m.url,ok:m.ok,status:m.status,statusText:m.statusText,raw:A}];const g=o.xml2js(A,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,o=Object.keys(r),a=o[o.length-1],s=r[a];if(s.length>0){s[s.length-1]=l(e)}else r[a]=l(e)}catch(e){D(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(g.multistatus.response)?g.multistatus.response:[g.multistatus.response]).map((e=>{var t,r;if(!e)return{status:m.status,statusText:m.statusText,ok:m.ok};const o=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:g,href:e.href,status:(null==o?void 0:o.groups)?Number.parseInt(null==o?void 0:o.groups.status,10):m.status,statusText:null!==(r=null===(t=null==o?void 0:o.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:m.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),y=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:s}=e;return g({url:t,init:{method:"PROPFIND",headers:m(v(Object.assign({depth:o},a)),s),namespace:exports.DAVNamespaceShort.DAV,body:{propfind:{_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALDAV_APPLE,exports.DAVNamespace.CALENDAR_SERVER,exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),prop:r}}}})})),b=e=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,headers:a,headersToExclude:s}=e;return t.fetch(r,{method:"PUT",body:o,headers:m(a,s)})})),V=e=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,etag:a,headers:s,headersToExclude:n}=e;return t.fetch(r,{method:"PUT",body:o,headers:m(v(Object.assign({"If-Match":a},s)),n)})})),x=e=>n(void 0,void 0,void 0,(function*(){const{url:r,headers:o,etag:a,headersToExclude:s}=e;return t.fetch(r,{method:"DELETE",headers:m(v(Object.assign({"If-Match":a},o)),s)})}));var O=Object.freeze({__proto__:null,createObject:b,davRequest:g,deleteObject:x,propfind:y,updateObject:V});function C(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const j=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),S=r("tsdav:collection"),N=e=>n(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:o,defaultNamespace:a=exports.DAVNamespaceShort.DAV,headers:s,headersToExclude:n}=e,d=yield g({url:t,init:{method:"REPORT",headers:m(v(Object.assign({depth:o},s)),n),namespace:a,body:r}});return 1!==d.length||d[0].raw?d:[]})),E=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:s}=e;return g({url:t,init:{method:"MKCOL",headers:m(v(Object.assign({depth:o},a)),s),namespace:exports.DAVNamespaceShort.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),k=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s;const{collection:n,headers:d,headersToExclude:i}=e;return null!==(s=null===(a=null===(o=null===(r=null===(t=(yield y({url:n.url,props:{[`${exports.DAVNamespaceShort.DAV}:supported-report-set`]:{}},depth:"0",headers:m(d,i)}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===o?void 0:o.supportedReport)||void 0===a?void 0:a.map((e=>Object.keys(e.report)[0])))&&void 0!==s?s:[]})),T=e=>n(void 0,void 0,void 0,(function*(){var t,r,o;const{collection:a,headers:s,headersToExclude:n}=e,d=(yield y({url:a.url,props:{[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:m(s,n)})).filter((e=>p(a.url,e.href)))[0];if(!d)throw new Error("Collection does not exist on server");return{isDirty:a.ctag!==(null===(t=d.props)||void 0===t?void 0:t.getctag),newCtag:null===(o=null===(r=d.props)||void 0===r?void 0:r.getctag)||void 0===o?void 0:o.toString()}})),$=e=>{const{url:t,props:r,headers:o,syncLevel:a,syncToken:s,headersToExclude:n}=e;return g({url:t,init:{method:"REPORT",namespace:exports.DAVNamespaceShort.DAV,headers:m(Object.assign({},o),n),body:{"sync-collection":{_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),"sync-level":a,"sync-token":s,[`${exports.DAVNamespaceShort.DAV}:prop`]:r}}}})},w=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s,n,d,i,c,l,u;const{collection:h,method:v,headers:f,headersToExclude:A,account:D,detailedResult:g}=e,y=["accountType","homeUrl"];if(!D||!C(D,y)){if(!D)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${j(D,y)} before smartCollectionSync`)}const b=null!=v?v:(null===(t=h.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if(S(`smart collection sync with type ${D.accountType} and method ${b}`),"webdav"===b){const e=yield $({url:h.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${"caldav"===D.accountType?exports.DAVNamespaceShort.CALDAV:exports.DAVNamespaceShort.CARDDAV}:${"caldav"===D.accountType?"calendar-data":"address-data"}`]:{},[`${exports.DAVNamespaceShort.DAV}:displayname`]:{}},syncLevel:1,syncToken:h.syncToken,headers:m(f,A)}),t=e.filter((e=>{var t;const r="caldav"===D.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),c=t.filter((e=>404!==e.status)).map((e=>e.href)),l=t.filter((e=>404===e.status)).map((e=>e.href)),u=(c.length&&null!==(o=yield null===(r=null==h?void 0:h.objectMultiGet)||void 0===r?void 0:r.call(h,{url:h.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${"caldav"===D.accountType?exports.DAVNamespaceShort.CALDAV:exports.DAVNamespaceShort.CARDDAV}:${"caldav"===D.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:c,depth:"1",headers:m(f,A)}))&&void 0!==o?o:[]).map((e=>{var t,r,o,a,s,n,d,i,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==D?void 0:D.accountType)?null!==(s=null===(a=null===(o=e.props)||void 0===o?void 0:o.calendarData)||void 0===a?void 0:a._cdata)&&void 0!==s?s:null===(n=e.props)||void 0===n?void 0:n.calendarData:null!==(c=null===(i=null===(d=e.props)||void 0===d?void 0:d.addressData)||void 0===i?void 0:i._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),v=null!==(a=h.objects)&&void 0!==a?a:[],y=u.filter((e=>v.every((t=>!p(t.url,e.url))))),b=v.reduce(((e,t)=>{const r=u.find((e=>p(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),V=l.map((e=>({url:e,etag:""}))),x=v.filter((e=>u.some((t=>p(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},h),{objects:g?{created:y,updated:b,deleted:V}:[...x,...y,...b],syncToken:null!==(i=null===(d=null===(n=null===(s=e[0])||void 0===s?void 0:s.raw)||void 0===n?void 0:n.multistatus)||void 0===d?void 0:d.syncToken)&&void 0!==i?i:h.syncToken})}if("basic"===b){const{isDirty:e,newCtag:t}=yield T({collection:h,headers:m(f,A)}),r=null!==(c=h.objects)&&void 0!==c?c:[],o=null!==(u=yield null===(l=h.fetchObjects)||void 0===l?void 0:l.call(h,{collection:h,headers:m(f,A)}))&&void 0!==u?u:[],a=o.filter((e=>r.every((t=>!p(t.url,e.url))))),s=r.reduce(((e,t)=>{const r=o.find((e=>p(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),n=r.filter((e=>o.every((t=>!p(t.url,e.url))))),d=r.filter((e=>o.some((t=>p(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},h),{objects:g?{created:a,updated:s,deleted:n}:[...d,...a,...s],ctag:t})}return g?Object.assign(Object.assign({},h),{objects:{created:[],updated:[],deleted:[]}}):h}));var _=Object.freeze({__proto__:null,collectionQuery:N,isCollectionDirty:T,makeCollection:E,smartCollectionSync:w,supportedReportSet:k,syncCollection:$});const R=r("tsdav:addressBook"),U=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,depth:a,headers:s,headersToExclude:n}=e;return N({url:t,body:{"addressbook-query":{_attributes:h([exports.DAVNamespace.CARDDAV,exports.DAVNamespace.DAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,filter:null!=o?o:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:exports.DAVNamespaceShort.CARDDAV,depth:a,headers:m(s,n)})})),L=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,depth:a,headers:s}=e;return N({url:t,body:{"addressbook-multiget":{_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CARDDAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,[`${exports.DAVNamespaceShort.DAV}:href`]:o}},defaultNamespace:exports.DAVNamespaceShort.CARDDAV,depth:a,headers:s})})),P=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,props:o,headersToExclude:a}=null!=e?e:{},s=["homeUrl","rootUrl"];if(!t||!C(t,s)){if(!t)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${j(t,s)} before fetchAddressBooks`)}const d=yield y({url:t.homeUrl,props:null!=o?o:{[`${exports.DAVNamespaceShort.DAV}:displayname`]:{},[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{},[`${exports.DAVNamespaceShort.DAV}:resourcetype`]:{},[`${exports.DAVNamespaceShort.DAV}:sync-token`]:{}},depth:"1",headers:m(r,a)});return Promise.all(d.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var r,o,a,s,n,d,i,c,l;const u=null!==(a=null===(o=null===(r=e.props)||void 0===r?void 0:r.displayname)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.displayname;return R(`Found address book named ${"string"==typeof u?u:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(n=e.href)&&void 0!==n?n:"",null!==(d=t.rootUrl)&&void 0!==d?d:"").href,ctag:null===(i=e.props)||void 0===i?void 0:i.getctag,displayName:"string"==typeof u?u:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:r})})})))))})),H=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:o,headersToExclude:a,urlFilter:s=(e=>e),useMultiGet:n=!0}=e;R(`Fetching vcards from ${null==t?void 0:t.url}`);const d=["url"];if(!t||!C(t,d)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${j(t,d)} before fetchVCards`)}const i=(null!=o?o:(yield U({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{}},depth:"1",headers:m(r,a)})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(s).map((e=>new URL(e).pathname));let c=[];return i.length>0&&(c=n?yield L({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CARDDAV}:address-data`]:{}},objectUrls:i,depth:"1",headers:m(r,a)}):yield U({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CARDDAV}:address-data`]:{}},depth:"1",headers:m(r,a)})),c.map((e=>{var r,o,a,s,n,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(o=e.props)||void 0===o?void 0:o.getetag,data:null!==(n=null===(s=null===(a=e.props)||void 0===a?void 0:a.addressData)||void 0===s?void 0:s._cdata)&&void 0!==n?n:null===(d=e.props)||void 0===d?void 0:d.addressData}}))})),B=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:o,headers:a,headersToExclude:s}=e;return b({url:new URL(o,t.url).href,data:r,headers:m(Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},a),s)})})),I=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:o}=e;return V({url:t.url,data:t.data,etag:t.etag,headers:m(Object.assign({"content-type":"text/vcard; charset=utf-8"},r),o)})})),M=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:o}=e;return x({url:t.url,etag:t.etag,headers:m(r,o)})}));var F=Object.freeze({__proto__:null,addressBookMultiGet:L,addressBookQuery:U,createVCard:B,deleteVCard:M,fetchAddressBooks:P,fetchVCards:H,updateVCard:I});const z=r("tsdav:calendar"),Z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,timezone:a,depth:s,headers:n,headersToExclude:d}=e;return N({url:t,body:{"calendar-query":v({_attributes:h([exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALENDAR_SERVER,exports.DAVNamespace.CALDAV_APPLE,exports.DAVNamespace.DAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,filter:o,timezone:a})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:s,headers:m(n,d)})})),q=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,filters:a,timezone:s,depth:n,headers:d,headersToExclude:i}=e;return N({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CALDAV]),[`${exports.DAVNamespaceShort.DAV}:prop`]:r,[`${exports.DAVNamespaceShort.DAV}:href`]:o},f("filter",a)),{timezone:s})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:n,headers:m(d,i)})})),Q=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:s}=e;return g({url:t,init:{method:"MKCALENDAR",headers:m(v(Object.assign({depth:o},a)),s),namespace:exports.DAVNamespaceShort.DAV,body:{[`${exports.DAVNamespaceShort.CALDAV}:mkcalendar`]:{_attributes:h([exports.DAVNamespace.DAV,exports.DAVNamespace.CALDAV,exports.DAVNamespace.CALDAV_APPLE]),set:{prop:r}}}}})})),G=e=>n(void 0,void 0,void 0,(function*(){const{headers:t,account:r,props:o,projectedProps:a,headersToExclude:s}=null!=e?e:{},d=["homeUrl","rootUrl"];if(!r||!C(r,d)){if(!r)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${j(r,d)} before fetchCalendars`)}const i=yield y({url:r.homeUrl,props:null!=o?o:{[`${exports.DAVNamespaceShort.CALDAV}:calendar-description`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-timezone`]:{},[`${exports.DAVNamespaceShort.DAV}:displayname`]:{},[`${exports.DAVNamespaceShort.CALDAV_APPLE}:calendar-color`]:{},[`${exports.DAVNamespaceShort.CALENDAR_SERVER}:getctag`]:{},[`${exports.DAVNamespaceShort.DAV}:resourcetype`]:{},[`${exports.DAVNamespaceShort.CALDAV}:supported-calendar-component-set`]:{},[`${exports.DAVNamespaceShort.DAV}:sync-token`]:{}},depth:"1",headers:m(t,s)});return Promise.all(i.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,o;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(o=e.props)||void 0===o?void 0:o.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(c).includes(e)))})).map((e=>{var t,o,s,n,d,i,c,l,u,p,h,v,m,A,D;const g=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,y=null===(o=e.props)||void 0===o?void 0:o.calendarTimezone;return Object.assign({description:"string"==typeof g?g:"",timezone:"string"==typeof y?y:"",url:new URL(null!==(s=e.href)&&void 0!==s?s:"",null!==(n=r.rootUrl)&&void 0!==n?n:"").href,ctag:null===(d=e.props)||void 0===d?void 0:d.getctag,calendarColor:null===(i=e.props)||void 0===i?void 0:i.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(u=e.props)||void 0===u?void 0:u.displayname,components:Array.isArray(null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp)?null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(v=e.props)||void 0===v?void 0:v.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(m=e.props)||void 0===m?void 0:m.resourcetype),syncToken:null===(A=e.props)||void 0===A?void 0:A.syncToken},f("projectedProps",Object.fromEntries(Object.entries(null!==(D=e.props)&&void 0!==D?D:{}).filter((([e])=>null==a?void 0:a[e])))))})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:m(t,s)})})})))))})),J=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:o,timeRange:a,headers:s,expand:n,urlFilter:d=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:i=!0,headersToExclude:c}=e;if(a){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(a.start)&&e.test(a.end)||t.test(a.start)&&t.test(a.end)))throw new Error("invalid timeRange format, not in ISO8601")}z(`Fetching calendar objects from ${null==t?void 0:t.url}`);const l=["url"];if(!t||!C(t,l)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${j(t,l)} before fetchCalendarObjects`)}const u=null!=o?o:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},a?{"time-range":{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],p=(null!=r?r:(yield Z({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:u,depth:"1",headers:m(s,c)})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(d).map((e=>new URL(e).pathname));let h=[];return p.length>0&&(h=!i||n?yield Z({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-data`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:u,depth:"1",headers:m(s,c)}):yield q({url:t.url,props:{[`${exports.DAVNamespaceShort.DAV}:getetag`]:{},[`${exports.DAVNamespaceShort.CALDAV}:calendar-data`]:Object.assign({},n&&a?{[`${exports.DAVNamespaceShort.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:p,depth:"1",headers:m(s,c)})),h.map((e=>{var r,o,a,s,n,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(o=e.props)||void 0===o?void 0:o.getetag}`,data:null!==(n=null===(s=null===(a=e.props)||void 0===a?void 0:a.calendarData)||void 0===s?void 0:s._cdata)&&void 0!==n?n:null===(d=e.props)||void 0===d?void 0:d.calendarData}}))})),K=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:o,headers:a,headersToExclude:s}=e;return b({url:new URL(o,t.url).href,data:r,headers:m(Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},a),s)})})),W=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:o}=e;return V({url:t.url,data:t.data,etag:t.etag,headers:m(Object.assign({"content-type":"text/calendar; charset=utf-8"},r),o)})})),Y=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:o}=e;return x({url:t.url,etag:t.etag,headers:m(r,o)})})),X=e=>n(void 0,void 0,void 0,(function*(){var t;const{oldCalendars:r,account:o,detailedResult:a,headers:s,headersToExclude:d}=e;if(!o)throw new Error("Must have account before syncCalendars");const i=null!==(t=null!=r?r:o.calendars)&&void 0!==t?t:[],c=yield G({account:o,headers:m(s,d)}),l=c.filter((e=>i.every((t=>!p(t.url,e.url)))));z(`new calendars: ${l.map((e=>e.displayName))}`);const u=i.reduce(((e,t)=>{const r=c.find((e=>p(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);z(`updated calendars: ${u.map((e=>e.displayName))}`);const h=yield Promise.all(u.map((e=>n(void 0,void 0,void 0,(function*(){return yield w({collection:Object.assign(Object.assign({},e),{objectMultiGet:q}),method:"webdav",headers:m(s,d),account:o})}))))),v=i.filter((e=>c.every((t=>!p(t.url,e.url)))));z(`deleted calendars: ${v.map((e=>e.displayName))}`);const f=i.filter((e=>c.some((t=>p(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return a?{created:l,updated:u,deleted:v}:[...f,...l,...h]})),ee=e=>n(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:o,headers:a,headersToExclude:s}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield N({url:t,body:{"free-busy-query":v({_attributes:h([exports.DAVNamespace.CALDAV]),[`${exports.DAVNamespaceShort.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:exports.DAVNamespaceShort.CALDAV,depth:o,headers:m(a,s)}))[0]}));var te=Object.freeze({__proto__:null,calendarMultiGet:q,calendarQuery:Z,createCalendarObject:K,deleteCalendarObject:Y,fetchCalendarObjects:J,fetchCalendars:G,freeBusyQuery:ee,makeCalendar:Q,syncCalendars:X,updateCalendarObject:W});const re=r("tsdav:account"),oe=e=>n(void 0,void 0,void 0,(function*(){var r,o;re("Service discovery...");const{account:a,headers:s,headersToExclude:n}=e,d=new URL(a.serverUrl),i=new URL(`/.well-known/${a.accountType}`,d);i.protocol=null!==(r=d.protocol)&&void 0!==r?r:"http";try{const e=yield t.fetch(i.href,{headers:m(s,n),method:"PROPFIND",redirect:"manual"});if(e.status>=300&&e.status<400){const t=e.headers.get("Location");if("string"==typeof t&&t.length){re(`Service discovery redirected to ${t}`);const e=new URL(t,d);return e.hostname===i.hostname&&i.port&&!e.port&&(e.port=i.port),e.protocol=null!==(o=d.protocol)&&void 0!==o?o:"http",e.href}}}catch(e){re(`Service discovery failed: ${e.stack}`)}return d.href})),ae=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,s;const{account:n,headers:d,headersToExclude:i}=e,c=["rootUrl"];if(!C(n,c))throw new Error(`account must have ${j(n,c)} before fetchPrincipalUrl`);re(`Fetching principal url from path ${n.rootUrl}`);const[l]=yield y({url:n.rootUrl,props:{[`${exports.DAVNamespaceShort.DAV}:current-user-principal`]:{}},depth:"0",headers:m(d,i)});if(!l.ok&&(re(`Fetch principal url failed: ${l.statusText}`),401===l.status))throw new Error("Invalid credentials");return re(`Fetched principal url ${null===(r=null===(t=l.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(s=null===(a=null===(o=l.props)||void 0===o?void 0:o.currentUserPrincipal)||void 0===a?void 0:a.href)&&void 0!==s?s:"",n.rootUrl).href})),se=e=>n(void 0,void 0,void 0,(function*(){var t,r;const{account:o,headers:a,headersToExclude:s}=e,n=["principalUrl","rootUrl"];if(!C(o,n))throw new Error(`account must have ${j(o,n)} before fetchHomeUrl`);re(`Fetch home url from ${o.principalUrl}`);const d=(yield y({url:o.principalUrl,props:"caldav"===o.accountType?{[`${exports.DAVNamespaceShort.CALDAV}:calendar-home-set`]:{}}:{[`${exports.DAVNamespaceShort.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:m(a,s)})).find((e=>p(o.principalUrl,e.href)));if(!d||!d.ok)throw new Error("cannot find homeUrl");const i=new URL("caldav"===o.accountType?null===(t=null==d?void 0:d.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==d?void 0:d.props)||void 0===r?void 0:r.addressbookHomeSet.href,o.rootUrl).href;return re(`Fetched home url ${i}`),i})),ne=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o=!1,loadObjects:a=!1,headersToExclude:s}=e,d=Object.assign({},t);return d.rootUrl=yield oe({account:t,headers:m(r,s)}),d.principalUrl=yield ae({account:d,headers:m(r,s)}),d.homeUrl=yield se({account:d,headers:m(r,s)}),(o||a)&&("caldav"===t.accountType?d.calendars=yield G({headers:m(r,s),account:d}):"carddav"===t.accountType&&(d.addressBooks=yield P({headers:m(r,s),account:d}))),a&&("caldav"===t.accountType&&d.calendars?d.calendars=yield Promise.all(d.calendars.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield J({calendar:e,headers:m(r,s)})})}))))):"carddav"===t.accountType&&d.addressBooks&&(d.addressBooks=yield Promise.all(d.addressBooks.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield H({addressBook:e,headers:m(r,s)})})}))))))),d}));var de=Object.freeze({__proto__:null,createAccount:ne,fetchHomeUrl:se,fetchPrincipalUrl:ae,serviceDiscovery:oe});const ie=r("tsdav:authHelper"),ce=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),le=e=>(ie(`Basic auth token generated: ${a.encode(`${e.username}:${e.password}`)}`),{authorization:`Basic ${a.encode(`${e.username}:${e.password}`)}`}),ue=e=>n(void 0,void 0,void 0,(function*(){const r=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!C(e,r))throw new Error(`Oauth credentials missing: ${j(e,r)}`);const o=new URLSearchParams({grant_type:"authorization_code",code:e.authorizationCode,redirect_uri:e.redirectUrl,client_id:e.clientId,client_secret:e.clientSecret});ie(e.tokenUrl),ie(o.toString());const a=yield t.fetch(e.tokenUrl,{method:"POST",body:o.toString(),headers:{"content-length":`${o.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return ie(`Fetch Oauth tokens failed: ${yield a.text()}`),{}})),pe=e=>n(void 0,void 0,void 0,(function*(){const r=["refreshToken","clientId","clientSecret","tokenUrl"];if(!C(e,r))throw new Error(`Oauth credentials missing: ${j(e,r)}`);const o=new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,refresh_token:e.refreshToken,grant_type:"refresh_token"}),a=yield t.fetch(e.tokenUrl,{method:"POST",body:o.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return ie(`Refresh access token failed: ${yield a.text()}`),{}})),he=e=>n(void 0,void 0,void 0,(function*(){var t;ie("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield pe(e)):r=yield ue(e),ie(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var ve=Object.freeze({__proto__:null,defaultParam:ce,fetchOauthTokens:ue,getBasicAuthHeaders:le,getOauthHeaders:he,refreshAccessToken:pe});const fe=e=>n(void 0,void 0,void 0,(function*(){var t;const{serverUrl:r,credentials:o,authMethod:a,defaultAccountType:d,authFunction:i}=e;let c={};switch(a){case"Basic":c=le(o);break;case"Oauth":c=(yield he(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(t=yield null==i?void 0:i(o))&&void 0!==t?t:{};break;default:throw new Error("Invalid auth method")}const l=d?yield ne({account:{serverUrl:r,credentials:o,accountType:d},headers:c}):void 0,u=ce(b,{url:r,headers:c}),p=ce(V,{headers:c,url:r}),h=ce(x,{headers:c,url:r}),v=ce(y,{headers:c}),f=ce(N,{headers:c}),m=ce(E,{headers:c}),A=ce($,{headers:c}),D=ce(k,{headers:c}),O=ce(T,{headers:c}),C=ce(w,{headers:c,account:l}),j=ce(Z,{headers:c}),S=ce(q,{headers:c}),_=ce(Q,{headers:c}),R=ce(G,{headers:c,account:l}),F=ce(J,{headers:c}),z=ce(K,{headers:c}),ee=ce(W,{headers:c}),te=ce(Y,{headers:c}),re=ce(X,{account:l,headers:c}),oe=ce(U,{headers:c}),ae=ce(L,{headers:c});return{davRequest:e=>n(void 0,void 0,void 0,(function*(){const{init:t}=e,r=s(e,["init"]),{headers:o}=t,a=s(t,["headers"]);return g(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},a),{headers:Object.assign(Object.assign({},c),o)})}))})),propfind:v,createAccount:e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:a,loadCollections:s,loadObjects:n}=e;return ne({account:Object.assign({serverUrl:r,credentials:o},t),headers:Object.assign(Object.assign({},c),a),loadCollections:s,loadObjects:n})})),createObject:u,updateObject:p,deleteObject:h,calendarQuery:j,addressBookQuery:oe,collectionQuery:f,makeCollection:m,calendarMultiGet:S,makeCalendar:_,syncCollection:A,supportedReportSet:D,isCollectionDirty:O,smartCollectionSync:C,fetchCalendars:R,fetchCalendarObjects:F,createCalendarObject:z,updateCalendarObject:ee,deleteCalendarObject:te,syncCalendars:re,fetchAddressBooks:ce(P,{account:l,headers:c}),addressBookMultiGet:ae,fetchVCards:ce(H,{headers:c}),createVCard:ce(B,{headers:c}),updateVCard:ce(I,{headers:c}),deleteVCard:ce(M,{headers:c})}}));class me{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return n(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=le(this.credentials);break;case"Oauth":this.authHeaders=(yield he(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield ne({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(e){return n(this,void 0,void 0,(function*(){const{init:t}=e,r=s(e,["init"]),{headers:o}=t,a=s(t,["headers"]);return g(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},a),{headers:Object.assign(Object.assign({},this.authHeaders),o)})}))}))}createObject(...e){return n(this,void 0,void 0,(function*(){return ce(b,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return n(this,void 0,void 0,(function*(){return ce(V,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return n(this,void 0,void 0,(function*(){return ce(x,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return n(this,void 0,void 0,(function*(){return ce(y,{headers:this.authHeaders})(e[0])}))}createAccount(e){return n(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o,loadObjects:a}=e;return ne({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:o,loadObjects:a})}))}collectionQuery(...e){return n(this,void 0,void 0,(function*(){return ce(N,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return n(this,void 0,void 0,(function*(){return ce(E,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return n(this,void 0,void 0,(function*(){return ce($,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return n(this,void 0,void 0,(function*(){return ce(k,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return n(this,void 0,void 0,(function*(){return ce(T,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return n(this,void 0,void 0,(function*(){return ce(w,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return n(this,void 0,void 0,(function*(){return ce(Z,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return n(this,void 0,void 0,(function*(){return ce(Q,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return n(this,void 0,void 0,(function*(){return ce(q,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return n(this,void 0,void 0,(function*(){return ce(G,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return n(this,void 0,void 0,(function*(){return ce(J,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(K,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(W,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(Y,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return n(this,void 0,void 0,(function*(){return ce(X,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return n(this,void 0,void 0,(function*(){return ce(U,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return n(this,void 0,void 0,(function*(){return ce(L,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return n(this,void 0,void 0,(function*(){return ce(P,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return n(this,void 0,void 0,(function*(){return ce(H,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return n(this,void 0,void 0,(function*(){return ce(B,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return n(this,void 0,void 0,(function*(){return ce(I,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return n(this,void 0,void 0,(function*(){return ce(M,{headers:this.authHeaders})(e[0])}))}}var Ae=Object.freeze({__proto__:null,DAVClient:me,createDAVClient:fe}),De=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:exports.DAVNamespace,DAVNamespaceShort:exports.DAVNamespaceShort,DAVAttributeMap:d},Ae),O),_),de),F),te),ve),A);exports.DAVAttributeMap=d,exports.DAVClient=me,exports.addressBookQuery=U,exports.calendarMultiGet=q,exports.calendarQuery=Z,exports.cleanupFalsy=v,exports.collectionQuery=N,exports.createAccount=ne,exports.createCalendarObject=K,exports.createDAVClient=fe,exports.createObject=b,exports.createVCard=B,exports.davRequest=g,exports.default=De,exports.deleteCalendarObject=Y,exports.deleteObject=x,exports.deleteVCard=M,exports.fetchAddressBooks=P,exports.fetchCalendarObjects=J,exports.fetchCalendars=G,exports.fetchOauthTokens=ue,exports.fetchVCards=H,exports.freeBusyQuery=ee,exports.getBasicAuthHeaders=le,exports.getDAVAttribute=h,exports.getOauthHeaders=he,exports.isCollectionDirty=T,exports.makeCalendar=Q,exports.propfind=y,exports.refreshAccessToken=pe,exports.smartCollectionSync=w,exports.supportedReportSet=k,exports.syncCalendars=X,exports.syncCollection=$,exports.updateCalendarObject=W,exports.updateObject=V,exports.updateVCard=I,exports.urlContains=p,exports.urlEquals=u; diff --git a/dist/tsdav.min.js b/dist/tsdav.min.js index 1b16e75..a7d8556 100644 --- a/dist/tsdav.min.js +++ b/dist/tsdav.min.js @@ -1,2 +1,2 @@ -function e(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i-1};function l(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function d(e){return"string"!=typeof e&&(e=String(e)),e}function h(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i&&(t[Symbol.iterator]=function(){return t}),t}function f(e){this.map={},e instanceof f?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function g(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=g(t);return t.readAsArrayBuffer(e),r}function v(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():s&&o&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=v(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=v(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=p(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(y)}),this.text=function(){var e,t,r,n=p(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=g(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function E(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function A(e,t){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:""});return e.type="error",e};var T=[301,302,303,307,308];A.redirect=function(e,t){if(-1===T.indexOf(t))throw new RangeError("Invalid status code");return new A(null,{status:t,headers:{location:e}})},t.DOMException=r.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,n){return new Promise((function(i,a){var u=new w(e,n);if(u.signal&&u.signal.aborted)return a(new t.DOMException("Aborted","AbortError"));var c=new XMLHttpRequest;function l(){c.abort()}c.onload=function(){var e,t,r={status:c.status,statusText:c.statusText,headers:(e=c.getAllResponseHeaders()||"",t=new f,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var n="response"in c?c.response:c.responseText;setTimeout((function(){i(new A(n,r))}),0)},c.onerror=function(){setTimeout((function(){a(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){setTimeout((function(){a(new TypeError("Network request failed"))}),0)},c.onabort=function(){setTimeout((function(){a(new t.DOMException("Aborted","AbortError"))}),0)},c.open(u.method,function(e){try{return""===e&&r.location.href?r.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":s&&u.headers.get("Content-Type")&&-1!==u.headers.get("Content-Type").indexOf("application/octet-stream")&&(c.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof f?u.headers.forEach((function(e,t){c.setRequestHeader(t,e)})):Object.getOwnPropertyNames(n.headers).forEach((function(e){c.setRequestHeader(e,d(n.headers[e]))})),u.signal&&(u.signal.addEventListener("abort",l),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",l)}),c.send(void 0===u._bodyInit?null:u._bodyInit)}))}_.polyfill=!0,r.fetch||(r.fetch=_,r.Headers=f,r.Request=w,r.Response=A),t.Headers=f,t.Request=w,t.Response=A,t.fetch=_}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var o=n.fetch?n:i;(t=o.fetch).default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t}(o,o.exports);var a=o.exports,s="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function u(){throw new Error("setTimeout has not been defined")}function c(){throw new Error("clearTimeout has not been defined")}var l=u,d=c;function h(e){if(l===setTimeout)return setTimeout(e,0);if((l===u||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}"function"==typeof s.setTimeout&&(l=setTimeout),"function"==typeof s.clearTimeout&&(d=clearTimeout);var f,p=[],g=!1,y=-1;function v(){g&&f&&(g=!1,f.length?p=f.concat(p):y=-1,p.length&&m())}function m(){if(!g){var e=h(v);g=!0;for(var t=p.length;t;){for(f=p,p=[];++y1)for(var r=1;r=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}return N=function(s,u){u=u||{};var c=typeof s;if("string"===c&&s.length>0)return function(a){if((a=String(a)).length>100)return;var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a);if(!s)return;var u=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*o;case"weeks":case"week":case"w":return u*i;case"days":case"day":case"d":return u*n;case"hours":case"hour":case"hrs":case"hr":case"h":return u*r;case"minutes":case"minute":case"mins":case"min":case"m":return u*t;case"seconds":case"second":case"secs":case"sec":case"s":return u*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(s);if("number"===c&&isFinite(s))return u.long?function(i){var o=Math.abs(i);if(o>=n)return a(i,o,n,"day");if(o>=r)return a(i,o,r,"hour");if(o>=t)return a(i,o,t,"minute");if(o>=e)return a(i,o,e,"second");return i+" ms"}(s):function(i){var o=Math.abs(i);if(o>=n)return Math.round(i/n)+"d";if(o>=r)return Math.round(i/r)+"h";if(o>=t)return Math.round(i/t)+"m";if(o>=e)return Math.round(i/e)+"s";return i+"ms"}(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))},N}var P=function(e){function t(e){let n,i,o,a=null;function s(...e){if(!s.enabled)return;const r=s,i=Number(new Date),o=i-(n||i);r.diff=o,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if("%%"===n)return"%";a++;const o=t.formatters[i];if("function"==typeof o){const t=e[a];n=o.call(r,t),e.splice(a,1),a--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return s.namespace=e,s.useColors=t.useColors(),s.color=t.selectColor(e),s.extend=r,s.destroy=t.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(i!==t.namespaces&&(i=t.namespaces,o=t.enabled(e)),o),set:e=>{a=e}}),"function"==typeof t.init&&t.init(s),s}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==L&&"env"in L&&(e=L.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=P(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(k,k.exports);var U,B=n(k.exports);!function(e){e.CALENDAR_SERVER="http://calendarserver.org/ns/",e.CALDAV_APPLE="http://apple.com/ns/ical/",e.CALDAV="urn:ietf:params:xml:ns:caldav",e.CARDDAV="urn:ietf:params:xml:ns:carddav",e.DAV="DAV:"}(U||(U={}));const M={[U.CALDAV]:"xmlns:c",[U.CARDDAV]:"xmlns:card",[U.CALENDAR_SERVER]:"xmlns:cs",[U.CALDAV_APPLE]:"xmlns:ca",[U.DAV]:"xmlns:d"};var V,K;!function(e){e.CALDAV="c",e.CARDDAV="card",e.CALENDAR_SERVER="cs",e.CALDAV_APPLE="ca",e.DAV="d"}(V||(V={})),function(e){e.VEVENT="VEVENT",e.VTODO="VTODO",e.VJOURNAL="VJOURNAL",e.VFREEBUSY="VFREEBUSY",e.VTIMEZONE="VTIMEZONE",e.VALARM="VALARM"}(K||(K={}));var $=[],H=[],Y="undefined"!=typeof Uint8Array?Uint8Array:Array,z=!1;function q(){z=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+$[i>>12&63]+$[i>>6&63]+$[63&i]);return o.join("")}function W(e){var t;z||q();for(var r=e.length,n=r%3,i="",o=[],a=16383,s=0,u=r-n;su?u:s+a));return 1===n?(t=e[r-1],i+=$[t>>2],i+=$[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=$[t>>10],i+=$[t>>4&63],i+=$[t<<2&63],i+="="),o.push(i),o.join("")}function Q(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,l=-7,d=r?i-1:0,h=r?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=c}return(f?-1:1)*a*Math.pow(2,o-n)}function X(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+d>=1?h/u:h*Math.pow(2,1-d))*u>=2&&(a++,u/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*u-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<0;e[r+f]=255&a,f+=p,a/=256,c-=8);e[r+f-p]|=128*g}var Z={}.toString,J=Array.isArray||function(e){return"[object Array]"==Z.call(e)};function ee(){return re.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function te(e,t){if(ee()=ee())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ee().toString(16)+" bytes");return 0|e}function ue(e){return!(null==e||!e._isBuffer)}function ce(e,t){if(ue(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return ke(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ie(e).length;default:if(n)return ke(e).length;t=(""+t).toLowerCase(),n=!0}}function le(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _e(this,t,r);case"utf8":case"utf-8":return Ee(this,t,r);case"ascii":return Ae(this,t,r);case"latin1":case"binary":return Te(this,t,r);case"base64":return we(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ce(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function de(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function he(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=re.from(t,n)),ue(t))return 0===t.length?-1:fe(e,t,r,n,i);if("number"==typeof t)return t&=255,re.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):fe(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function fe(e,t,r,n,i){var o,a=1,s=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var d=!0,h=0;hi&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function we(e,t,r){return 0===t&&r===e.length?W(e):W(e.slice(t,r))}function Ee(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},re.prototype.compare=function(e,t,r,n,i){if(!ue(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(n,i),c=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return pe(this,e,t,r);case"utf8":case"utf-8":return ge(this,e,t,r);case"ascii":return ye(this,e,t,r);case"latin1":case"binary":return ve(this,e,t,r);case"base64":return me(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},re.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ae(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function De(e,t,r,n,i,o){if(!ue(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function xe(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Re(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function Se(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Fe(e,t,r,n,i){return i||Se(e,0,r,4),X(e,t,r,n,23,4),r+4}function Ne(e,t,r,n,i){return i||Se(e,0,r,8),X(e,t,r,n,52,8),r+8}re.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},re.prototype.readUInt8=function(e,t){return t||Oe(e,1,this.length),this[e]},re.prototype.readUInt16LE=function(e,t){return t||Oe(e,2,this.length),this[e]|this[e+1]<<8},re.prototype.readUInt16BE=function(e,t){return t||Oe(e,2,this.length),this[e]<<8|this[e+1]},re.prototype.readUInt32LE=function(e,t){return t||Oe(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},re.prototype.readUInt32BE=function(e,t){return t||Oe(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},re.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Oe(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},re.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Oe(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},re.prototype.readInt8=function(e,t){return t||Oe(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},re.prototype.readInt16LE=function(e,t){t||Oe(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},re.prototype.readInt16BE=function(e,t){t||Oe(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},re.prototype.readInt32LE=function(e,t){return t||Oe(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},re.prototype.readInt32BE=function(e,t){return t||Oe(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},re.prototype.readFloatLE=function(e,t){return t||Oe(e,4,this.length),Q(this,e,!0,23,4)},re.prototype.readFloatBE=function(e,t){return t||Oe(e,4,this.length),Q(this,e,!1,23,4)},re.prototype.readDoubleLE=function(e,t){return t||Oe(e,8,this.length),Q(this,e,!0,52,8)},re.prototype.readDoubleBE=function(e,t){return t||Oe(e,8,this.length),Q(this,e,!1,52,8)},re.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||De(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},re.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,1,255,0),re.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},re.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,2,65535,0),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):xe(this,e,t,!0),t+2},re.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,2,65535,0),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):xe(this,e,t,!1),t+2},re.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,4,4294967295,0),re.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Re(this,e,t,!0),t+4},re.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,4,4294967295,0),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Re(this,e,t,!1),t+4},re.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);De(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},re.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);De(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},re.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,1,127,-128),re.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},re.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,2,32767,-32768),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):xe(this,e,t,!0),t+2},re.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,2,32767,-32768),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):xe(this,e,t,!1),t+2},re.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,4,2147483647,-2147483648),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Re(this,e,t,!0),t+4},re.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||De(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Re(this,e,t,!1),t+4},re.prototype.writeFloatLE=function(e,t,r){return Fe(this,e,t,!0,r)},re.prototype.writeFloatBE=function(e,t,r){return Fe(this,e,t,!1,r)},re.prototype.writeDoubleLE=function(e,t,r){return Ne(this,e,t,!0,r)},re.prototype.writeDoubleBE=function(e,t,r){return Ne(this,e,t,!1,r)},re.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!re.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Ie(e){return function(e){var t,r,n,i,o,a;z||q();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new Y(3*s/4-o),n=o>0?s-4:s;var u=0;for(t=0,r=0;t>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=H[e.charCodeAt(t)]<<2|H[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===o&&(i=H[e.charCodeAt(t)]<<10|H[e.charCodeAt(t+1)]<<4|H[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(je,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Pe(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Ue(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var Be={};function Me(){}function Ve(){Ve.init.call(this)}function Ke(e){return void 0===e._maxListeners?Ve.defaultMaxListeners:e._maxListeners}function $e(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Xe(e,n),o=0;o0&&a.length>i){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,s=u,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function We(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Qe(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Xe(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}Me.prototype=Object.create(null),Ve.EventEmitter=Ve,Ve.usingDomains=!1,Ve.prototype.domain=void 0,Ve.prototype._events=void 0,Ve.prototype._maxListeners=void 0,Ve.defaultMaxListeners=10,Ve.init=function(){this.domain=null,Ve.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Me,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Ve.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Ve.prototype.getMaxListeners=function(){return Ke(this)},Ve.prototype.emit=function(e){var t,r,n,i,o,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var l="function"==typeof r;switch(n=arguments.length){case 1:$e(r,l,this);break;case 2:He(r,l,this,arguments[1]);break;case 3:Ye(r,l,this,arguments[1],arguments[2]);break;case 4:ze(r,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new Me,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var Ze="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},Je=/%[sdj%]/g;function et(e){if(!ht(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),lt(t)?r.showHidden=t:t&&wt(r,t),ft(r.showHidden)&&(r.showHidden=!1),ft(r.depth)&&(r.depth=2),ft(r.colors)&&(r.colors=!1),ft(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ot),st(r,e,r.depth)}function ot(e,t){var r=it.styles[t];return r?"["+it.colors[r][0]+"m"+e+"["+it.colors[r][1]+"m":e}function at(e,t){return e}function st(e,t,r){if(e.customInspect&&t&&mt(t.inspect)&&t.inspect!==it&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return ht(n)||(n=st(e,n,r)),n}var i=function(e,t){if(ft(t))return e.stylize("undefined","undefined");if(ht(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(n=t,"number"==typeof n)return e.stylize(""+t,"number");var n;if(lt(t))return e.stylize(""+t,"boolean");if(dt(t))return e.stylize("null","null")}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),vt(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return ut(t);if(0===o.length){if(mt(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(pt(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(yt(t))return e.stylize(Date.prototype.toString.call(t),"date");if(vt(t))return ut(t)}var u,c,l="",d=!1,h=["{","}"];(u=t,Array.isArray(u)&&(d=!0,h=["[","]"]),mt(t))&&(l=" [Function"+(t.name?": "+t.name:"")+"]");return pt(t)&&(l=" "+RegExp.prototype.toString.call(t)),yt(t)&&(l=" "+Date.prototype.toUTCString.call(t)),vt(t)&&(l=" "+ut(t)),0!==o.length||d&&0!=t.length?r<0?pt(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=d?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,l,h)):h[0]+l+h[1]}function ut(e){return"["+Error.prototype.toString.call(e)+"]"}function ct(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Et(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=dt(r)?st(e,u.value,null):st(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),ft(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function lt(e){return"boolean"==typeof e}function dt(e){return null===e}function ht(e){return"string"==typeof e}function ft(e){return void 0===e}function pt(e){return gt(e)&&"[object RegExp]"===bt(e)}function gt(e){return"object"==typeof e&&null!==e}function yt(e){return gt(e)&&"[object Date]"===bt(e)}function vt(e){return gt(e)&&("[object Error]"===bt(e)||e instanceof Error)}function mt(e){return"function"==typeof e}function bt(e){return Object.prototype.toString.call(e)}function wt(e,t){if(!t||!gt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function Et(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function At(){this.head=null,this.tail=null,this.length=0}it.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},it.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},At.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},At.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},At.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},At.prototype.clear=function(){this.head=this.tail=null,this.length=0},At.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},At.prototype.concat=function(e){if(0===this.length)return re.alloc(0);if(1===this.length)return this.head.data;for(var t=re.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Tt=re.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _t(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Tt(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Ot;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Dt;break;default:return void(this.write=Ct)}this.charBuffer=new re(6),this.charReceived=0,this.charLength=0}function Ct(e){return e.toString(this.encoding)}function Ot(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Dt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}_t.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var i;n=(t+=e.toString(this.encoding,0,n)).length-1;if((i=t.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,n)}return t},_t.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},_t.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};var xt=Object.freeze({__proto__:null,StringDecoder:_t});Ft.ReadableState=St;var Rt=function(e){if(ft(rt)&&(rt=L.env.NODE_DEBUG||""),e=e.toUpperCase(),!nt[e])if(new RegExp("\\b"+e+"\\b","i").test(rt)){nt[e]=function(){var t=et.apply(null,arguments);console.error("%s %d: %s",e,0,t)}}else nt[e]=function(){};return nt[e]}("stream");function St(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ir&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new At,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new _t(e.encoding),this.encoding=e.encoding)}function Ft(e){if(!(this instanceof Ft))return new Ft(e);this._readableState=new St(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),Ve.call(this)}function Nt(e,t,r,n,i){var o=function(e,t){var r=null;re.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));return r}(t,r);if(o)e.emit("error",o);else if(null===r)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,Lt(e)}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||i||n||(r=t.decoder.write(r),u=!t.objectMode&&0===r.length),i||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&Lt(e))),function(e,t){t.readingMore||(t.readingMore=!0,b(It,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function Lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(Rt("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?b(kt,e):kt(e))}function kt(e){Rt("emit readable"),e.emit("readable"),Bt(e)}function It(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=re.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function Vt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,b(Kt,t,e))}function Kt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function $t(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return Rt("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Vt(this):Lt(this),null;if(0===(e=jt(e,t))&&t.ended)return 0===t.length&&Vt(this),null;var n,i=t.needReadable;return Rt("need readable",i),(0===t.length||t.length-e0?Mt(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Vt(this)),null!==n&&this.emit("data",n),n},Ft.prototype._read=function(e){this.emit("error",new Error("not implemented"))},Ft.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,Rt("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||!1!==t.end?a:c;function o(e){Rt("onunpipe"),e===r&&c()}function a(){Rt("onend"),e.end()}n.endEmitted?b(i):r.once("end",i),e.on("unpipe",o);var s=function(e){return function(){var t=e._readableState;Rt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,Bt(e))}}(r);e.on("drain",s);var u=!1;function c(){Rt("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",h),e.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",c),r.removeListener("data",d),u=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function d(t){Rt("ondata"),l=!1,!1!==e.write(t)||l||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==$t(n.pipes,e))&&!u&&(Rt("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,l=!0),r.pause())}function h(t){var r;Rt("onerror",t),g(),e.removeListener("error",h),0===(r="error",e.listeners(r).length)&&e.emit("error",t)}function f(){e.removeListener("finish",p),g()}function p(){Rt("onfinish"),e.removeListener("close",f),g()}function g(){Rt("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",h),e.once("close",f),e.once("finish",p),e.emit("pipe",r),n.flowing||(Rt("pipe resume"),r.resume()),e},Ft.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},qt.prototype._write=function(e,t,r){r(new Error("not implemented"))},qt.prototype._writev=null,qt.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Jt(e,t),r&&(t.finished?b(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r)},Ze(ir,Ft);for(var tr=Object.keys(qt.prototype),rr=0;rr"===o?(_(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=E.TEXT):p(o)?(n.state=E.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case E.SGML_DECL_QUOTED:o===n.q&&(n.state=E.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case E.DOCTYPE:">"===o?(n.state=E.TEXT,_(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=E.DOCTYPE_DTD:p(o)&&(n.state=E.DOCTYPE_QUOTED,n.q=o));continue;case E.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=E.DOCTYPE);continue;case E.DOCTYPE_DTD:n.doctype+=o,"]"===o?n.state=E.DOCTYPE:p(o)&&(n.state=E.DOCTYPE_DTD_QUOTED,n.q=o);continue;case E.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=E.DOCTYPE_DTD,n.q="");continue;case E.COMMENT:"-"===o?n.state=E.COMMENT_ENDING:n.comment+=o;continue;case E.COMMENT_ENDING:"-"===o?(n.state=E.COMMENT_ENDED,n.comment=O(n.opt,n.comment),n.comment&&_(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=E.COMMENT);continue;case E.COMMENT_ENDED:">"!==o?(R(n,"Malformed comment"),n.comment+="--"+o,n.state=E.COMMENT):n.state=E.TEXT;continue;case E.CDATA:"]"===o?n.state=E.CDATA_ENDING:n.cdata+=o;continue;case E.CDATA_ENDING:"]"===o?n.state=E.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=E.CDATA);continue;case E.CDATA_ENDING_2:">"===o?(n.cdata&&_(n,"oncdata",n.cdata),_(n,"onclosecdata"),n.cdata="",n.state=E.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=E.CDATA);continue;case E.PROC_INST:"?"===o?n.state=E.PROC_INST_ENDING:f(o)?n.state=E.PROC_INST_BODY:n.procInstName+=o;continue;case E.PROC_INST_BODY:if(!n.procInstBody&&f(o))continue;"?"===o?n.state=E.PROC_INST_ENDING:n.procInstBody+=o;continue;case E.PROC_INST_ENDING:">"===o?(_(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=E.TEXT):(n.procInstBody+="?"+o,n.state=E.PROC_INST_BODY);continue;case E.OPEN_TAG:y(l,o)?n.tagName+=o:(S(n),">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:(f(o)||R(n,"Invalid character in tag name"),n.state=E.ATTRIB));continue;case E.OPEN_TAG_SLASH:">"===o?(j(n,!0),L(n)):(R(n,"Forward-slash in opening tag not followed by >"),n.state=E.ATTRIB);continue;case E.ATTRIB:if(f(o))continue;">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:y(c,o)?(n.attribName=o,n.attribValue="",n.state=E.ATTRIB_NAME):R(n,"Invalid attribute name");continue;case E.ATTRIB_NAME:"="===o?n.state=E.ATTRIB_VALUE:">"===o?(R(n,"Attribute without value"),n.attribValue=n.attribName,N(n),j(n)):f(o)?n.state=E.ATTRIB_NAME_SAW_WHITE:y(l,o)?n.attribName+=o:R(n,"Invalid attribute name");continue;case E.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=E.ATTRIB_VALUE;else{if(f(o))continue;R(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",_(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?j(n):y(c,o)?(n.attribName=o,n.state=E.ATTRIB_NAME):(R(n,"Invalid attribute name"),n.state=E.ATTRIB)}continue;case E.ATTRIB_VALUE:if(f(o))continue;p(o)?(n.q=o,n.state=E.ATTRIB_VALUE_QUOTED):(R(n,"Unquoted attribute value"),n.state=E.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case E.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=E.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}N(n),n.q="",n.state=E.ATTRIB_VALUE_CLOSED;continue;case E.ATTRIB_VALUE_CLOSED:f(o)?n.state=E.ATTRIB:">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:y(c,o)?(R(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=E.ATTRIB_NAME):R(n,"Invalid attribute name");continue;case E.ATTRIB_VALUE_UNQUOTED:if(!g(o)){"&"===o?n.state=E.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}N(n),">"===o?j(n):n.state=E.ATTRIB;continue;case E.CLOSE_TAG:if(n.tagName)">"===o?L(n):y(l,o)?n.tagName+=o:n.script?(n.script+=""===o?L(n):R(n,"Invalid characters in closing tag");continue;case E.TEXT_ENTITY:case E.ATTRIB_VALUE_ENTITY_Q:case E.ATTRIB_VALUE_ENTITY_U:var u,m;switch(n.state){case E.TEXT_ENTITY:u=E.TEXT,m="textNode";break;case E.ATTRIB_VALUE_ENTITY_Q:u=E.ATTRIB_VALUE_QUOTED,m="attribValue";break;case E.ATTRIB_VALUE_ENTITY_U:u=E.ATTRIB_VALUE_UNQUOTED,m="attribValue"}";"===o?(n[m]+=k(n),n.entity="",n.state=u):y(n.entity.length?h:d,o)?n.entity+=o:(R(n,"Invalid character in entity name"),n[m]+="&"+n.entity+o,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;on)switch(r[o]){case"textNode":C(t);break;case"cdata":_(t,"oncdata",t.cdata),t.cdata="";break;case"script":_(t,"onscript",t.script),t.script="";break;default:D(t,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}var u=e.MAX_BUFFER_LENGTH-i;t.bufferCheckPosition=u+t.position}(n),n} -/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;C(e=this),""!==e.cdata&&(_(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(_(e,"onscript",e.script),e.script="")}};try{t=hr.Stream}catch(e){t=function(){}}var i=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function o(e,r){if(!(this instanceof o))return new o(e,r);t.apply(this),this._parser=new n(e,r),this.writable=!0,this.readable=!0;var a=this;this._parser.onend=function(){a.emit("end")},this._parser.onerror=function(e){a.emit("error",e),a._parser.error=null},this._decoder=null,i.forEach((function(e){Object.defineProperty(a,"on"+e,{get:function(){return a._parser["on"+e]},set:function(t){if(!t)return a.removeAllListeners(e),a._parser["on"+e]=t,t;a.on(e,t)},enumerable:!0,configurable:!1})}))}o.prototype=Object.create(t.prototype,{constructor:{value:o}}),o.prototype.write=function(e){if("function"==typeof re.isBuffer&&re.isBuffer(e)){if(!this._decoder){var t=fr.StringDecoder;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},o.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},o.prototype.on=function(e,r){var n=this;return n._parser["on"+e]||-1===i.indexOf(e)||(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),t.prototype.on.call(n,e,r)};var a="http://www.w3.org/XML/1998/namespace",s="http://www.w3.org/2000/xmlns/",u={xml:a,xmlns:s},c=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,d=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function f(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function p(e){return'"'===e||"'"===e}function g(e){return">"===e||f(e)}function y(e,t){return e.test(t)}function v(e,t){return!y(e,t)}var m,b,w,E=0;for(var A in e.STATE={BEGIN:E++,BEGIN_WHITESPACE:E++,TEXT:E++,TEXT_ENTITY:E++,OPEN_WAKA:E++,SGML_DECL:E++,SGML_DECL_QUOTED:E++,DOCTYPE:E++,DOCTYPE_QUOTED:E++,DOCTYPE_DTD:E++,DOCTYPE_DTD_QUOTED:E++,COMMENT_STARTING:E++,COMMENT:E++,COMMENT_ENDING:E++,COMMENT_ENDED:E++,CDATA:E++,CDATA_ENDING:E++,CDATA_ENDING_2:E++,PROC_INST:E++,PROC_INST_BODY:E++,PROC_INST_ENDING:E++,OPEN_TAG:E++,OPEN_TAG_SLASH:E++,ATTRIB:E++,ATTRIB_NAME:E++,ATTRIB_NAME_SAW_WHITE:E++,ATTRIB_VALUE:E++,ATTRIB_VALUE_QUOTED:E++,ATTRIB_VALUE_CLOSED:E++,ATTRIB_VALUE_UNQUOTED:E++,ATTRIB_VALUE_ENTITY_Q:E++,ATTRIB_VALUE_ENTITY_U:E++,CLOSE_TAG:E++,CLOSE_TAG_SAW_WHITE:E++,SCRIPT:E++,SCRIPT_ENDING:E++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var r=e.ENTITIES[t],n="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=n})),e.STATE)e.STATE[e.STATE[A]]=A;function T(e,t,r){e[t]&&e[t](r)}function _(e,t,r){e.textNode&&C(e),T(e,t,r)}function C(e){e.textNode=O(e.opt,e.textNode),e.textNode&&T(e,"ontext",e.textNode),e.textNode=""}function O(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function D(e,t){return C(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,T(e,"onerror",t),e}function x(e){return e.sawRoot&&!e.closedRoot&&R(e,"Unclosed root tag"),e.state!==E.BEGIN&&e.state!==E.BEGIN_WHITESPACE&&e.state!==E.TEXT&&D(e,"Unexpected end"),C(e),e.c="",e.closed=!0,T(e,"onend"),n.call(e,e.strict,e.opt),e}function R(e,t){if("object"!=typeof e||!(e instanceof n))throw new Error("bad call to strictFail");e.strict&&D(e,t)}function S(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,_(e,"onopentagstart",r)}function F(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),n=r[0],i=r[1];return t&&"xmlns"===e&&(n="xmlns",i=""),{prefix:n,local:i}}function N(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=F(e.attribName,!0),r=t.prefix,n=t.local;if("xmlns"===r)if("xml"===n&&e.attribValue!==a)R(e,"xml: prefix must be bound to "+a+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==s)R(e,"xmlns: prefix must be bound to "+s+"\nActual: "+e.attribValue);else{var i=e.tag,o=e.tags[e.tags.length-1]||e;i.ns===o.ns&&(i.ns=Object.create(o.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,_(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function j(e,t){if(e.opt.xmlns){var r=e.tag,n=F(e.tagName);r.prefix=n.prefix,r.local=n.local,r.uri=r.ns[n.prefix]||"",r.prefix&&!r.uri&&(R(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=n.prefix);var i=e.tags[e.tags.length-1]||e;r.ns&&i.ns!==r.ns&&Object.keys(r.ns).forEach((function(t){_(e,"onopennamespace",{prefix:t,uri:r.ns[t]})}));for(var o=0,a=e.attribList.length;o",e.tagName="",void(e.state=E.SCRIPT);_(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var n=r;t--&&e.tags[t].name!==n;)R(e,"Unexpected close tag");if(t<0)return R(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=E.TEXT);e.tagName=r;for(var i=e.tags.length;i-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,_(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];var u=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==u.ns&&Object.keys(o.ns).forEach((function(t){var r=o.ns[t];_(e,"onclosenamespace",{prefix:t,uri:r})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=E.TEXT}function k(e){var t,r=e.entity,n=r.toLowerCase(),i="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[n]?e.ENTITIES[n]:("#"===(r=n).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),i=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),i=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==r?(R(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function I(e,t){"<"===t?(e.state=E.OPEN_WAKA,e.startTagPosition=e.position):f(t)||(R(e,"Non-whitespace before first tag."),e.textNode=t,e.state=E.TEXT)}function P(e,t){var r="";return t1114111||b(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?n.push(s):(e=55296+((s-=65536)>>10),t=s%1024+56320,n.push(e,t)),(i+1===o||n.length>r)&&(a+=m.apply(null,n),n.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:w,configurable:!0,writable:!0}):String.fromCodePoint=w)}(Be);var pr,gr,yr=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)},vr=yr,mr={copyOptions:function(e){var t,r={};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r},ensureFlagExists:function(e,t){e in t&&"boolean"==typeof t[e]||(t[e]=!1)},ensureSpacesExists:function(e){(!("spaces"in e)||"number"!=typeof e.spaces&&"string"!=typeof e.spaces)&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){"alwaysArray"in e&&("boolean"==typeof e.alwaysArray||vr(e.alwaysArray))||(e.alwaysArray=!1)},ensureKeyExists:function(e,t){e+"Key"in t&&"string"==typeof t[e+"Key"]||(t[e+"Key"]=t.compact?"_"+e:e)},checkFnExists:function(e,t){return e+"Fn"in t}},br=Be,wr=mr,Er=yr;function Ar(e){var t=Number(e);if(!isNaN(t))return t;var r=e.toLowerCase();return"true"===r||"false"!==r&&e}function Tr(e,t){var r;if(pr.compact){if(!gr[pr[e+"Key"]]&&(Er(pr.alwaysArray)?-1!==pr.alwaysArray.indexOf(pr[e+"Key"]):pr.alwaysArray)&&(gr[pr[e+"Key"]]=[]),gr[pr[e+"Key"]]&&!Er(gr[pr[e+"Key"]])&&(gr[pr[e+"Key"]]=[gr[pr[e+"Key"]]]),e+"Fn"in pr&&"string"==typeof t&&(t=pr[e+"Fn"](t,gr)),"instruction"===e&&("instructionFn"in pr||"instructionNameFn"in pr))for(r in t)if(t.hasOwnProperty(r))if("instructionFn"in pr)t[r]=pr.instructionFn(t[r],r,gr);else{var n=t[r];delete t[r],t[pr.instructionNameFn(r,n,gr)]=n}Er(gr[pr[e+"Key"]])?gr[pr[e+"Key"]].push(t):gr[pr[e+"Key"]]=t}else{gr[pr.elementsKey]||(gr[pr.elementsKey]=[]);var i={};if(i[pr.typeKey]=e,"instruction"===e){for(r in t)if(t.hasOwnProperty(r))break;i[pr.nameKey]="instructionNameFn"in pr?pr.instructionNameFn(r,t,gr):r,pr.instructionHasAttributes?(i[pr.attributesKey]=t[r][pr.attributesKey],"instructionFn"in pr&&(i[pr.attributesKey]=pr.instructionFn(i[pr.attributesKey],r,gr))):("instructionFn"in pr&&(t[r]=pr.instructionFn(t[r],r,gr)),i[pr.instructionKey]=t[r])}else e+"Fn"in pr&&(t=pr[e+"Fn"](t,gr)),i[pr[e+"Key"]]=t;pr.addParent&&(i[pr.parentKey]=gr),gr[pr.elementsKey].push(i)}}function _r(e){var t;if("attributesFn"in pr&&e&&(e=pr.attributesFn(e,gr)),(pr.trim||"attributeValueFn"in pr||"attributeNameFn"in pr||pr.nativeTypeAttributes)&&e)for(t in e)if(e.hasOwnProperty(t)&&(pr.trim&&(e[t]=e[t].trim()),pr.nativeTypeAttributes&&(e[t]=Ar(e[t])),"attributeValueFn"in pr&&(e[t]=pr.attributeValueFn(e[t],t,gr)),"attributeNameFn"in pr)){var r=e[t];delete e[t],e[pr.attributeNameFn(t,e[t],gr)]=r}return e}function Cr(e){var t={};if(e.body&&("xml"===e.name.toLowerCase()||pr.instructionHasAttributes)){for(var r,n=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(r=n.exec(e.body));)t[r[1]]=r[2]||r[3]||r[4];t=_r(t)}if("xml"===e.name.toLowerCase()){if(pr.ignoreDeclaration)return;gr[pr.declarationKey]={},Object.keys(t).length&&(gr[pr.declarationKey][pr.attributesKey]=t),pr.addParent&&(gr[pr.declarationKey][pr.parentKey]=gr)}else{if(pr.ignoreInstruction)return;pr.trim&&(e.body=e.body.trim());var i={};pr.instructionHasAttributes&&Object.keys(t).length?(i[e.name]={},i[e.name][pr.attributesKey]=t):i[e.name]=e.body,Tr("instruction",i)}}function Or(e,t){var r;if("object"==typeof e&&(t=e.attributes,e=e.name),t=_r(t),"elementNameFn"in pr&&(e=pr.elementNameFn(e,gr)),pr.compact){var n;if(r={},!pr.ignoreAttributes&&t&&Object.keys(t).length)for(n in r[pr.attributesKey]={},t)t.hasOwnProperty(n)&&(r[pr.attributesKey][n]=t[n]);!(e in gr)&&(Er(pr.alwaysArray)?-1!==pr.alwaysArray.indexOf(e):pr.alwaysArray)&&(gr[e]=[]),gr[e]&&!Er(gr[e])&&(gr[e]=[gr[e]]),Er(gr[e])?gr[e].push(r):gr[e]=r}else gr[pr.elementsKey]||(gr[pr.elementsKey]=[]),(r={})[pr.typeKey]="element",r[pr.nameKey]=e,!pr.ignoreAttributes&&t&&Object.keys(t).length&&(r[pr.attributesKey]=t),pr.alwaysChildren&&(r[pr.elementsKey]=[]),gr[pr.elementsKey].push(r);r[pr.parentKey]=gr,gr=r}function Dr(e){pr.ignoreText||(e.trim()||pr.captureSpacesBetweenElements)&&(pr.trim&&(e=e.trim()),pr.nativeType&&(e=Ar(e)),pr.sanitize&&(e=e.replace(/&/g,"&").replace(//g,">")),Tr("text",e))}function xr(e){pr.ignoreComment||(pr.trim&&(e=e.trim()),Tr("comment",e))}function Rr(e){var t=gr[pr.parentKey];pr.addParent||delete gr[pr.parentKey],gr=t}function Sr(e){pr.ignoreCdata||(pr.trim&&(e=e.trim()),Tr("cdata",e))}function Fr(e){pr.ignoreDoctype||(e=e.replace(/^ /,""),pr.trim&&(e=e.trim()),Tr("doctype",e))}function Nr(e){e.note=e}var jr=function(e,t){var r=br.parser(!0,{}),n={};if(gr=n,pr=function(e){return pr=wr.copyOptions(e),wr.ensureFlagExists("ignoreDeclaration",pr),wr.ensureFlagExists("ignoreInstruction",pr),wr.ensureFlagExists("ignoreAttributes",pr),wr.ensureFlagExists("ignoreText",pr),wr.ensureFlagExists("ignoreComment",pr),wr.ensureFlagExists("ignoreCdata",pr),wr.ensureFlagExists("ignoreDoctype",pr),wr.ensureFlagExists("compact",pr),wr.ensureFlagExists("alwaysChildren",pr),wr.ensureFlagExists("addParent",pr),wr.ensureFlagExists("trim",pr),wr.ensureFlagExists("nativeType",pr),wr.ensureFlagExists("nativeTypeAttributes",pr),wr.ensureFlagExists("sanitize",pr),wr.ensureFlagExists("instructionHasAttributes",pr),wr.ensureFlagExists("captureSpacesBetweenElements",pr),wr.ensureAlwaysArrayExists(pr),wr.ensureKeyExists("declaration",pr),wr.ensureKeyExists("instruction",pr),wr.ensureKeyExists("attributes",pr),wr.ensureKeyExists("text",pr),wr.ensureKeyExists("comment",pr),wr.ensureKeyExists("cdata",pr),wr.ensureKeyExists("doctype",pr),wr.ensureKeyExists("type",pr),wr.ensureKeyExists("name",pr),wr.ensureKeyExists("elements",pr),wr.ensureKeyExists("parent",pr),wr.checkFnExists("doctype",pr),wr.checkFnExists("instruction",pr),wr.checkFnExists("cdata",pr),wr.checkFnExists("comment",pr),wr.checkFnExists("text",pr),wr.checkFnExists("instructionName",pr),wr.checkFnExists("elementName",pr),wr.checkFnExists("attributeName",pr),wr.checkFnExists("attributeValue",pr),wr.checkFnExists("attributes",pr),pr}(t),r.opt={strictEntities:!0},r.onopentag=Or,r.ontext=Dr,r.oncomment=xr,r.onclosetag=Rr,r.onerror=Nr,r.oncdata=Sr,r.ondoctype=Fr,r.onprocessinginstruction=Cr,r.write(e).close(),n[pr.elementsKey]){var i=n[pr.elementsKey];delete n[pr.elementsKey],n[pr.elementsKey]=i,delete n.text}return n},Lr=mr,kr=jr;var Ir,Pr,Ur=mr,Br=yr;function Mr(e,t,r){return(!r&&e.spaces?"\n":"")+Array(t+1).join(e.spaces)}function Vr(e,t,r){if(t.ignoreAttributes)return"";"attributesFn"in t&&(e=t.attributesFn(e,Pr,Ir));var n,i,o,a,s=[];for(n in e)e.hasOwnProperty(n)&&null!==e[n]&&void 0!==e[n]&&(a=t.noQuotesForNativeAttributes&&"string"!=typeof e[n]?"":'"',i=(i=""+e[n]).replace(/"/g,"""),o="attributeNameFn"in t?t.attributeNameFn(n,i,Pr,Ir):n,s.push(t.spaces&&t.indentAttributes?Mr(t,r+1,!1):" "),s.push(o+"="+a+("attributeValueFn"in t?t.attributeValueFn(i,n,Pr,Ir):i)+a));return e&&Object.keys(e).length&&t.spaces&&t.indentAttributes&&s.push(Mr(t,r,!1)),s.join("")}function Kr(e,t,r){return Ir=e,Pr="xml",t.ignoreDeclaration?"":""}function $r(e,t,r){if(t.ignoreInstruction)return"";var n;for(n in e)if(e.hasOwnProperty(n))break;var i="instructionNameFn"in t?t.instructionNameFn(n,e[n],Pr,Ir):n;if("object"==typeof e[n])return Ir=e,Pr=i,"";var o=e[n]?e[n]:"";return"instructionFn"in t&&(o=t.instructionFn(o,n,Pr,Ir)),""}function Hr(e,t){return t.ignoreComment?"":"\x3c!--"+("commentFn"in t?t.commentFn(e,Pr,Ir):e)+"--\x3e"}function Yr(e,t){return t.ignoreCdata?"":"","]]]]>"))+"]]>"}function zr(e,t){return t.ignoreDoctype?"":""}function qr(e,t){return t.ignoreText?"":(e=(e=(e=""+e).replace(/&/g,"&")).replace(/&/g,"&").replace(//g,">"),"textFn"in t?t.textFn(e,Pr,Ir):e)}function Gr(e,t,r,n){return e.reduce((function(e,i){var o=Mr(t,r,n&&!e);switch(i.type){case"element":return e+o+function(e,t,r){Ir=e,Pr=e.name;var n=[],i="elementNameFn"in t?t.elementNameFn(e.name,e):e.name;n.push("<"+i),e[t.attributesKey]&&n.push(Vr(e[t.attributesKey],t,r));var o=e[t.elementsKey]&&e[t.elementsKey].length||e[t.attributesKey]&&"preserve"===e[t.attributesKey]["xml:space"];return o||(o="fullTagEmptyElementFn"in t?t.fullTagEmptyElementFn(e.name,e):t.fullTagEmptyElement),o?(n.push(">"),e[t.elementsKey]&&e[t.elementsKey].length&&(n.push(Gr(e[t.elementsKey],t,r+1)),Ir=e,Pr=e.name),n.push(t.spaces&&function(e,t){var r;if(e.elements&&e.elements.length)for(r=0;r")):n.push("/>"),n.join("")}(i,t,r);case"comment":return e+o+Hr(i[t.commentKey],t);case"doctype":return e+o+zr(i[t.doctypeKey],t);case"cdata":return e+(t.indentCdata?o:"")+Yr(i[t.cdataKey],t);case"text":return e+(t.indentText?o:"")+qr(i[t.textKey],t);case"instruction":var a={};return a[i[t.nameKey]]=i[t.attributesKey]?i:i[t.instructionKey],e+(t.indentInstruction?o:"")+$r(a,t,r)}}),"")}function Wr(e,t,r){var n;for(n in e)if(e.hasOwnProperty(n))switch(n){case t.parentKey:case t.attributesKey:break;case t.textKey:if(t.indentText||r)return!0;break;case t.cdataKey:if(t.indentCdata||r)return!0;break;case t.instructionKey:if(t.indentInstruction||r)return!0;break;case t.doctypeKey:case t.commentKey:default:return!0}return!1}function Qr(e,t,r,n,i){Ir=e,Pr=t;var o="elementNameFn"in r?r.elementNameFn(t,e):t;if(null==e||""===e)return"fullTagEmptyElementFn"in r&&r.fullTagEmptyElementFn(t,e)||r.fullTagEmptyElement?"<"+o+">":"<"+o+"/>";var a=[];if(t){if(a.push("<"+o),"object"!=typeof e)return a.push(">"+qr(e,r)+""),a.join("");e[r.attributesKey]&&a.push(Vr(e[r.attributesKey],r,n));var s=Wr(e,r,!0)||e[r.attributesKey]&&"preserve"===e[r.attributesKey]["xml:space"];if(s||(s="fullTagEmptyElementFn"in r?r.fullTagEmptyElementFn(t,e):r.fullTagEmptyElement),!s)return a.push("/>"),a.join("");a.push(">")}return a.push(Xr(e,r,n+1,!1)),Ir=e,Pr=t,t&&a.push((i?Mr(r,n,!1):"")+""),a.join("")}function Xr(e,t,r,n){var i,o,a,s=[];for(o in e)if(e.hasOwnProperty(o))for(a=Br(e[o])?e[o]:[e[o]],i=0;i{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},on=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),n=t.trim();if(Math.abs(r.length-n.length)>1)return!1;const i="/"===r.slice(-1)?r.slice(0,-1):r,o="/"===n.slice(-1)?n.slice(0,-1):n;return e.includes(o)||t.includes(i)},an=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),n=t.trim(),i="/"===r.slice(-1)?r.slice(0,-1):r,o="/"===n.slice(-1)?n.slice(0,-1):n;return e.includes(o)||t.includes(i)},sn=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[M[t]]:t})),{}),un=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),cn=(e,t)=>t?{[e]:t}:{};var ln=Object.freeze({__proto__:null,cleanupFalsy:un,conditionalParam:cn,getDAVAttribute:sn,urlContains:an,urlEquals:on});const dn=B("tsdav:request"),hn=e=>t(void 0,void 0,void 0,(function*(){var t;const{url:r,init:n,convertIncoming:i=!0,parseOutgoing:o=!0}=e,{headers:s={},body:u,namespace:c,method:l,attributes:d}=n,h=i?rn.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},u),{_attributes:d}),{compact:!0,spaces:2,elementNameFn:e=>c&&!/^.+:.+/.test(e)?`${c}:${e}`:e}):u,f=yield a.fetch(r,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},un(s)),body:h,method:l}),p=yield f.text();if(!f.ok||!(null===(t=f.headers.get("content-type"))||void 0===t?void 0:t.includes("xml"))||!o)return[{href:f.url,ok:f.ok,status:f.status,statusText:f.statusText,raw:p}];const g=rn.xml2js(p,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,n=Object.keys(r),i=n[n.length-1],o=r[i];if(o.length>0){o[o.length-1]=nn(e)}else r[i]=nn(e)}catch(e){dn(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(g.multistatus.response)?g.multistatus.response:[g.multistatus.response]).map((e=>{var t,r;if(!e)return{status:f.status,statusText:f.statusText,ok:f.ok};const n=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:g,href:e.href,status:(null==n?void 0:n.groups)?Number.parseInt(null==n?void 0:n.groups.status,10):f.status,statusText:null!==(r=null===(t=null==n?void 0:n.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:f.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),fn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i}=e;return hn({url:t,init:{method:"PROPFIND",headers:un(Object.assign({depth:n},i)),namespace:V.DAV,body:{propfind:{_attributes:sn([U.CALDAV,U.CALDAV_APPLE,U.CALENDAR_SERVER,U.CARDDAV,U.DAV]),prop:r}}}})})),pn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,data:r,headers:n}=e;return a.fetch(t,{method:"PUT",body:r,headers:n})})),gn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,data:r,etag:n,headers:i}=e;return a.fetch(t,{method:"PUT",body:r,headers:un(Object.assign({"If-Match":n},i))})})),yn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,headers:r,etag:n}=e;return a.fetch(t,{method:"DELETE",headers:un(Object.assign({"If-Match":n},r))})}));var vn=Object.freeze({__proto__:null,createObject:pn,davRequest:hn,deleteObject:yn,propfind:fn,updateObject:gn});function mn(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const bn=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),wn=B("tsdav:collection"),En=e=>t(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:n,defaultNamespace:i=V.DAV,headers:o}=e,a=yield hn({url:t,init:{method:"REPORT",headers:un(Object.assign({depth:n},o)),namespace:i,body:r}});return 1!==a.length||a[0].raw?a:[]})),An=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i}=e;return hn({url:t,init:{method:"MKCOL",headers:un(Object.assign({depth:n},i)),namespace:V.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),Tn=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o;const{collection:a,headers:s}=e;return null!==(o=null===(i=null===(n=null===(r=null===(t=(yield fn({url:a.url,props:{[`${V.DAV}:supported-report-set`]:{}},depth:"0",headers:s}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===n?void 0:n.supportedReport)||void 0===i?void 0:i.map((e=>Object.keys(e.report)[0])))&&void 0!==o?o:[]})),_n=e=>t(void 0,void 0,void 0,(function*(){var t,r,n;const{collection:i,headers:o}=e,a=(yield fn({url:i.url,props:{[`${V.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:o})).filter((e=>an(i.url,e.href)))[0];if(!a)throw new Error("Collection does not exist on server");return{isDirty:i.ctag!==(null===(t=a.props)||void 0===t?void 0:t.getctag),newCtag:null===(n=null===(r=a.props)||void 0===r?void 0:r.getctag)||void 0===n?void 0:n.toString()}})),Cn=e=>{const{url:t,props:r,headers:n,syncLevel:i,syncToken:o}=e;return hn({url:t,init:{method:"REPORT",namespace:V.DAV,headers:Object.assign({},n),body:{"sync-collection":{_attributes:sn([U.CALDAV,U.CARDDAV,U.DAV]),"sync-level":i,"sync-token":o,[`${V.DAV}:prop`]:r}}}})},On=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o,a,s,u,c,l,d;const{collection:h,method:f,headers:p,account:g,detailedResult:y}=e,v=["accountType","homeUrl"];if(!g||!mn(g,v)){if(!g)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${bn(g,v)} before smartCollectionSync`)}const m=null!=f?f:(null===(t=h.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if(wn(`smart collection sync with type ${g.accountType} and method ${m}`),"webdav"===m){const e=yield Cn({url:h.url,props:{[`${V.DAV}:getetag`]:{},[`${"caldav"===g.accountType?V.CALDAV:V.CARDDAV}:${"caldav"===g.accountType?"calendar-data":"address-data"}`]:{},[`${V.DAV}:displayname`]:{}},syncLevel:1,syncToken:h.syncToken,headers:p}),t=e.filter((e=>{var t;const r="caldav"===g.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),c=t.filter((e=>404!==e.status)).map((e=>e.href)),l=t.filter((e=>404===e.status)).map((e=>e.href)),d=(c.length&&null!==(n=yield null===(r=null==h?void 0:h.objectMultiGet)||void 0===r?void 0:r.call(h,{url:h.url,props:{[`${V.DAV}:getetag`]:{},[`${"caldav"===g.accountType?V.CALDAV:V.CARDDAV}:${"caldav"===g.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:c,depth:"1",headers:p}))&&void 0!==n?n:[]).map((e=>{var t,r,n,i,o,a,s,u,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==g?void 0:g.accountType)?null!==(o=null===(i=null===(n=e.props)||void 0===n?void 0:n.calendarData)||void 0===i?void 0:i._cdata)&&void 0!==o?o:null===(a=e.props)||void 0===a?void 0:a.calendarData:null!==(c=null===(u=null===(s=e.props)||void 0===s?void 0:s.addressData)||void 0===u?void 0:u._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),f=null!==(i=h.objects)&&void 0!==i?i:[],v=d.filter((e=>f.every((t=>!an(t.url,e.url))))),m=f.reduce(((e,t)=>{const r=d.find((e=>an(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),b=l.map((e=>({url:e,etag:""}))),w=f.filter((e=>d.some((t=>an(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},h),{objects:y?{created:v,updated:m,deleted:b}:[...w,...v,...m],syncToken:null!==(u=null===(s=null===(a=null===(o=e[0])||void 0===o?void 0:o.raw)||void 0===a?void 0:a.multistatus)||void 0===s?void 0:s.syncToken)&&void 0!==u?u:h.syncToken})}if("basic"===m){const{isDirty:e,newCtag:t}=yield _n({collection:h,headers:p}),r=null!==(c=h.objects)&&void 0!==c?c:[],n=null!==(d=yield null===(l=h.fetchObjects)||void 0===l?void 0:l.call(h,{collection:h,headers:p}))&&void 0!==d?d:[],i=n.filter((e=>r.every((t=>!an(t.url,e.url))))),o=r.reduce(((e,t)=>{const r=n.find((e=>an(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),a=r.filter((e=>n.every((t=>!an(t.url,e.url))))),s=r.filter((e=>n.some((t=>an(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},h),{objects:y?{created:i,updated:o,deleted:a}:[...s,...i,...o],ctag:t})}return y?Object.assign(Object.assign({},h),{objects:{created:[],updated:[],deleted:[]}}):h}));var Dn=Object.freeze({__proto__:null,collectionQuery:En,isCollectionDirty:_n,makeCollection:An,smartCollectionSync:On,supportedReportSet:Tn,syncCollection:Cn});const xn=B("tsdav:addressBook"),Rn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:n,depth:i,headers:o}=e;return En({url:t,body:{"addressbook-query":{_attributes:sn([U.CARDDAV,U.DAV]),[`${V.DAV}:prop`]:r,filter:null!=n?n:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:V.CARDDAV,depth:i,headers:o})})),Sn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:n,depth:i,headers:o}=e;return En({url:t,body:{"addressbook-multiget":{_attributes:sn([U.DAV,U.CARDDAV]),[`${V.DAV}:prop`]:r,[`${V.DAV}:href`]:n}},defaultNamespace:V.CARDDAV,depth:i,headers:o})})),Fn=e=>t(void 0,void 0,void 0,(function*(){const{account:r,headers:n,props:i}=null!=e?e:{},o=["homeUrl","rootUrl"];if(!r||!mn(r,o)){if(!r)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${bn(r,o)} before fetchAddressBooks`)}const a=yield fn({url:r.homeUrl,props:null!=i?i:{[`${V.DAV}:displayname`]:{},[`${V.CALENDAR_SERVER}:getctag`]:{},[`${V.DAV}:resourcetype`]:{},[`${V.DAV}:sync-token`]:{}},depth:"1",headers:n});return Promise.all(a.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var t,n,i,o,a,s,u,c,l;const d=null!==(i=null===(n=null===(t=e.props)||void 0===t?void 0:t.displayname)||void 0===n?void 0:n._cdata)&&void 0!==i?i:null===(o=e.props)||void 0===o?void 0:o.displayname;return xn(`Found address book named ${"string"==typeof d?d:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(a=e.href)&&void 0!==a?a:"",null!==(s=r.rootUrl)&&void 0!==s?s:"").href,ctag:null===(u=e.props)||void 0===u?void 0:u.getctag,displayName:"string"==typeof d?d:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield Tn({collection:e,headers:n})})})))))})),Nn=e=>t(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:n,urlFilter:i=(e=>e),useMultiGet:o=!0}=e;xn(`Fetching vcards from ${null==t?void 0:t.url}`);const a=["url"];if(!t||!mn(t,a)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${bn(t,a)} before fetchVCards`)}const s=(null!=n?n:(yield Rn({url:t.url,props:{[`${V.DAV}:getetag`]:{}},depth:"1",headers:r})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(i).map((e=>new URL(e).pathname));let u=[];return s.length>0&&(u=o?yield Sn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CARDDAV}:address-data`]:{}},objectUrls:s,depth:"1",headers:r}):yield Rn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CARDDAV}:address-data`]:{}},depth:"1",headers:r})),u.map((e=>{var r,n,i,o,a,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(n=e.props)||void 0===n?void 0:n.getetag,data:null!==(a=null===(o=null===(i=e.props)||void 0===i?void 0:i.addressData)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.addressData}}))})),jn=e=>t(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:n,headers:i}=e;return pn({url:new URL(n,t.url).href,data:r,headers:Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},i)})})),Ln=e=>t(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return gn({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/vcard; charset=utf-8"},r)})})),kn=e=>t(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return yn({url:t.url,etag:t.etag,headers:r})}));var In=Object.freeze({__proto__:null,addressBookMultiGet:Sn,addressBookQuery:Rn,createVCard:jn,deleteVCard:kn,fetchAddressBooks:Fn,fetchVCards:Nn,updateVCard:Ln});const Pn=B("tsdav:calendar"),Un=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:n,timezone:i,depth:o,headers:a}=e;return En({url:t,body:{"calendar-query":un({_attributes:sn([U.CALDAV,U.CALENDAR_SERVER,U.CALDAV_APPLE,U.DAV]),[`${V.DAV}:prop`]:r,filter:n,timezone:i})},defaultNamespace:V.CALDAV,depth:o,headers:a})})),Bn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:n,filters:i,timezone:o,depth:a,headers:s}=e;return En({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:sn([U.DAV,U.CALDAV]),[`${V.DAV}:prop`]:r,[`${V.DAV}:href`]:n},cn("filter",i)),{timezone:o})},defaultNamespace:V.CALDAV,depth:a,headers:s})})),Mn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i}=e;return hn({url:t,init:{method:"MKCALENDAR",headers:un(Object.assign({depth:n},i)),namespace:V.DAV,body:{[`${V.CALDAV}:mkcalendar`]:{_attributes:sn([U.DAV,U.CALDAV,U.CALDAV_APPLE]),set:{prop:r}}}}})})),Vn=e=>t(void 0,void 0,void 0,(function*(){const{headers:r,account:n,props:i,projectedProps:o}=null!=e?e:{},a=["homeUrl","rootUrl"];if(!n||!mn(n,a)){if(!n)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${bn(n,a)} before fetchCalendars`)}const s=yield fn({url:n.homeUrl,props:null!=i?i:{[`${V.CALDAV}:calendar-description`]:{},[`${V.CALDAV}:calendar-timezone`]:{},[`${V.DAV}:displayname`]:{},[`${V.CALDAV_APPLE}:calendar-color`]:{},[`${V.CALENDAR_SERVER}:getctag`]:{},[`${V.DAV}:resourcetype`]:{},[`${V.CALDAV}:supported-calendar-component-set`]:{},[`${V.DAV}:sync-token`]:{}},depth:"1",headers:r});return Promise.all(s.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,n;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(n=e.props)||void 0===n?void 0:n.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(K).includes(e)))})).map((e=>{var t,r,i,a,s,u,c,l,d,h,f,p,g,y,v;const m=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,b=null===(r=e.props)||void 0===r?void 0:r.calendarTimezone;return Object.assign({description:"string"==typeof m?m:"",timezone:"string"==typeof b?b:"",url:new URL(null!==(i=e.href)&&void 0!==i?i:"",null!==(a=n.rootUrl)&&void 0!==a?a:"").href,ctag:null===(s=e.props)||void 0===s?void 0:s.getctag,calendarColor:null===(u=e.props)||void 0===u?void 0:u.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(d=e.props)||void 0===d?void 0:d.displayname,components:Array.isArray(null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp)?null===(f=e.props)||void 0===f?void 0:f.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(g=e.props)||void 0===g?void 0:g.resourcetype),syncToken:null===(y=e.props)||void 0===y?void 0:y.syncToken},cn("projectedProps",Object.fromEntries(Object.entries(null!==(v=e.props)&&void 0!==v?v:{}).filter((([e])=>null==o?void 0:o[e])))))})).map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield Tn({collection:e,headers:r})})})))))})),Kn=e=>t(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:n,timeRange:i,headers:o,expand:a,urlFilter:s=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:u=!0}=e;if(i){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(i.start)&&e.test(i.end)||t.test(i.start)&&t.test(i.end)))throw new Error("invalid timeRange format, not in ISO8601")}Pn(`Fetching calendar objects from ${null==t?void 0:t.url}`);const c=["url"];if(!t||!mn(t,c)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${bn(t,c)} before fetchCalendarObjects`)}const l=null!=n?n:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},i?{"time-range":{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],d=(null!=r?r:(yield Un({url:t.url,props:{[`${V.DAV}:getetag`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:l,depth:"1",headers:o})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(s).map((e=>new URL(e).pathname));let h=[];return d.length>0&&(h=!u||a?yield Un({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CALDAV}:calendar-data`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:l,depth:"1",headers:o}):yield Bn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CALDAV}:calendar-data`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:d,depth:"1",headers:o})),h.map((e=>{var r,n,i,o,a,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(n=e.props)||void 0===n?void 0:n.getetag}`,data:null!==(a=null===(o=null===(i=e.props)||void 0===i?void 0:i.calendarData)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.calendarData}}))})),$n=e=>t(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:n,headers:i}=e;return pn({url:new URL(n,t.url).href,data:r,headers:Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},i)})})),Hn=e=>t(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return gn({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/calendar; charset=utf-8"},r)})})),Yn=e=>t(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return yn({url:t.url,etag:t.etag,headers:r})})),zn=e=>t(void 0,void 0,void 0,(function*(){var r;const{oldCalendars:n,account:i,detailedResult:o,headers:a}=e;if(!i)throw new Error("Must have account before syncCalendars");const s=null!==(r=null!=n?n:i.calendars)&&void 0!==r?r:[],u=yield Vn({account:i,headers:a}),c=u.filter((e=>s.every((t=>!an(t.url,e.url)))));Pn(`new calendars: ${c.map((e=>e.displayName))}`);const l=s.reduce(((e,t)=>{const r=u.find((e=>an(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);Pn(`updated calendars: ${l.map((e=>e.displayName))}`);const d=yield Promise.all(l.map((e=>t(void 0,void 0,void 0,(function*(){return yield On({collection:Object.assign(Object.assign({},e),{objectMultiGet:Bn}),method:"webdav",headers:a,account:i})}))))),h=s.filter((e=>u.every((t=>!an(t.url,e.url)))));Pn(`deleted calendars: ${h.map((e=>e.displayName))}`);const f=s.filter((e=>u.some((t=>an(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return o?{created:c,updated:l,deleted:h}:[...f,...c,...d]})),qn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:n,headers:i}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield En({url:t,body:{"free-busy-query":un({_attributes:sn([U.CALDAV]),[`${V.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:V.CALDAV,depth:n,headers:i}))[0]}));var Gn=Object.freeze({__proto__:null,calendarMultiGet:Bn,calendarQuery:Un,createCalendarObject:$n,deleteCalendarObject:Yn,fetchCalendarObjects:Kn,fetchCalendars:Vn,freeBusyQuery:qn,makeCalendar:Mn,syncCalendars:zn,updateCalendarObject:Hn});const Wn=B("tsdav:account"),Qn=e=>t(void 0,void 0,void 0,(function*(){var t,r;Wn("Service discovery...");const{account:n,headers:i}=e,o=new URL(n.serverUrl),s=new URL(`/.well-known/${n.accountType}`,o);s.protocol=null!==(t=o.protocol)&&void 0!==t?t:"http";try{const e=yield a.fetch(s.href,{headers:i,method:"PROPFIND",redirect:"manual"});if(e.status>=300&&e.status<400){const t=e.headers.get("Location");if("string"==typeof t&&t.length){Wn(`Service discovery redirected to ${t}`);const e=new URL(t,o);return e.hostname===s.hostname&&s.port&&!e.port&&(e.port=s.port),e.protocol=null!==(r=o.protocol)&&void 0!==r?r:"http",e.href}}}catch(e){Wn(`Service discovery failed: ${e.stack}`)}return o.href})),Xn=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o;const{account:a,headers:s}=e,u=["rootUrl"];if(!mn(a,u))throw new Error(`account must have ${bn(a,u)} before fetchPrincipalUrl`);Wn(`Fetching principal url from path ${a.rootUrl}`);const[c]=yield fn({url:a.rootUrl,props:{[`${V.DAV}:current-user-principal`]:{}},depth:"0",headers:s});if(!c.ok&&(Wn(`Fetch principal url failed: ${c.statusText}`),401===c.status))throw new Error("Invalid credentials");return Wn(`Fetched principal url ${null===(r=null===(t=c.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(o=null===(i=null===(n=c.props)||void 0===n?void 0:n.currentUserPrincipal)||void 0===i?void 0:i.href)&&void 0!==o?o:"",a.rootUrl).href})),Zn=e=>t(void 0,void 0,void 0,(function*(){var t,r;const{account:n,headers:i}=e,o=["principalUrl","rootUrl"];if(!mn(n,o))throw new Error(`account must have ${bn(n,o)} before fetchHomeUrl`);Wn(`Fetch home url from ${n.principalUrl}`);const a=(yield fn({url:n.principalUrl,props:"caldav"===n.accountType?{[`${V.CALDAV}:calendar-home-set`]:{}}:{[`${V.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:i})).find((e=>an(n.principalUrl,e.href)));if(!a||!a.ok)throw new Error("cannot find homeUrl");const s=new URL("caldav"===n.accountType?null===(t=null==a?void 0:a.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==a?void 0:a.props)||void 0===r?void 0:r.addressbookHomeSet.href,n.rootUrl).href;return Wn(`Fetched home url ${s}`),s})),Jn=e=>t(void 0,void 0,void 0,(function*(){const{account:r,headers:n,loadCollections:i=!1,loadObjects:o=!1}=e,a=Object.assign({},r);return a.rootUrl=yield Qn({account:r,headers:n}),a.principalUrl=yield Xn({account:a,headers:n}),a.homeUrl=yield Zn({account:a,headers:n}),(i||o)&&("caldav"===r.accountType?a.calendars=yield Vn({headers:n,account:a}):"carddav"===r.accountType&&(a.addressBooks=yield Fn({headers:n,account:a}))),o&&("caldav"===r.accountType&&a.calendars?a.calendars=yield Promise.all(a.calendars.map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield Kn({calendar:e,headers:n})})}))))):"carddav"===r.accountType&&a.addressBooks&&(a.addressBooks=yield Promise.all(a.addressBooks.map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield Nn({addressBook:e,headers:n})})}))))))),a}));var ei,ti,ri=Object.freeze({__proto__:null,createAccount:Jn,fetchHomeUrl:Zn,fetchPrincipalUrl:Xn,serviceDiscovery:Qn}),ni={exports:{}};ei=ni,ti=ni.exports,function(e){var t=ti,n=ei&&ei.exports==t&&ei,i="object"==typeof r&&r;i.global!==i&&i.window!==i||(e=i);var o=function(e){this.message=e};(o.prototype=new Error).name="InvalidCharacterError";var a=function(e){throw new o(e)},s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=/[\t\n\f\r ]/g,c={encode:function(e){e=String(e),/[^\0-\xFF]/.test(e)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var t,r,n,i,o=e.length%3,u="",c=-1,l=e.length-o;++c>18&63)+s.charAt(i>>12&63)+s.charAt(i>>6&63)+s.charAt(63&i);return 2==o?(t=e.charCodeAt(c)<<8,r=e.charCodeAt(++c),u+=s.charAt((i=t+r)>>10)+s.charAt(i>>4&63)+s.charAt(i<<2&63)+"="):1==o&&(i=e.charCodeAt(c),u+=s.charAt(i>>2)+s.charAt(i<<4&63)+"=="),u},decode:function(e){var t=(e=String(e).replace(u,"")).length;t%4==0&&(t=(e=e.replace(/==?$/,"")).length),(t%4==1||/[^+a-zA-Z0-9/]/.test(e))&&a("Invalid character: the string to be decoded is not correctly encoded.");for(var r,n,i=0,o="",c=-1;++c>(-2*i&6)));return o},version:"1.0.0"};if(t&&!t.nodeType)if(n)n.exports=c;else for(var l in c)c.hasOwnProperty(l)&&(t[l]=c[l]);else e.base64=c}(r);var ii=ni.exports;const oi=B("tsdav:authHelper"),ai=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),si=e=>(oi(`Basic auth token generated: ${ii.encode(`${e.username}:${e.password}`)}`),{authorization:`Basic ${ii.encode(`${e.username}:${e.password}`)}`}),ui=e=>t(void 0,void 0,void 0,(function*(){const t=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!mn(e,t))throw new Error(`Oauth credentials missing: ${bn(e,t)}`);const r=new URLSearchParams({grant_type:"authorization_code",code:e.authorizationCode,redirect_uri:e.redirectUrl,client_id:e.clientId,client_secret:e.clientSecret});oi(e.tokenUrl),oi(r.toString());const n=yield a.fetch(e.tokenUrl,{method:"POST",body:r.toString(),headers:{"content-length":`${r.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(n.ok){return yield n.json()}return oi(`Fetch Oauth tokens failed: ${yield n.text()}`),{}})),ci=e=>t(void 0,void 0,void 0,(function*(){const t=["refreshToken","clientId","clientSecret","tokenUrl"];if(!mn(e,t))throw new Error(`Oauth credentials missing: ${bn(e,t)}`);const r=new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,refresh_token:e.refreshToken,grant_type:"refresh_token"}),n=yield a.fetch(e.tokenUrl,{method:"POST",body:r.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(n.ok){return yield n.json()}return oi(`Refresh access token failed: ${yield n.text()}`),{}})),li=e=>t(void 0,void 0,void 0,(function*(){var t;oi("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield ci(e)):r=yield ui(e),oi(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var di=Object.freeze({__proto__:null,defaultParam:ai,fetchOauthTokens:ui,getBasicAuthHeaders:si,getOauthHeaders:li,refreshAccessToken:ci});const hi=r=>t(void 0,void 0,void 0,(function*(){var n;const{serverUrl:i,credentials:o,authMethod:a,defaultAccountType:s,authFunction:u}=r;let c={};switch(a){case"Basic":c=si(o);break;case"Oauth":c=(yield li(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(n=yield null==u?void 0:u(o))&&void 0!==n?n:{};break;default:throw new Error("Invalid auth method")}const l=s?yield Jn({account:{serverUrl:i,credentials:o,accountType:s},headers:c}):void 0,d=ai(pn,{url:i,headers:c}),h=ai(gn,{headers:c,url:i}),f=ai(yn,{headers:c,url:i}),p=ai(fn,{headers:c}),g=ai(En,{headers:c}),y=ai(An,{headers:c}),v=ai(Cn,{headers:c}),m=ai(Tn,{headers:c}),b=ai(_n,{headers:c}),w=ai(On,{headers:c,account:l}),E=ai(Un,{headers:c}),A=ai(Bn,{headers:c}),T=ai(Mn,{headers:c}),_=ai(Vn,{headers:c,account:l}),C=ai(Kn,{headers:c}),O=ai($n,{headers:c}),D=ai(Hn,{headers:c}),x=ai(Yn,{headers:c}),R=ai(zn,{account:l,headers:c}),S=ai(Rn,{headers:c}),F=ai(Sn,{headers:c});return{davRequest:r=>t(void 0,void 0,void 0,(function*(){const{init:t}=r,n=e(r,["init"]),{headers:i}=t,o=e(t,["headers"]);return hn(Object.assign(Object.assign({},n),{init:Object.assign(Object.assign({},o),{headers:Object.assign(Object.assign({},c),i)})}))})),propfind:p,createAccount:e=>t(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:n,loadObjects:a}=e;return Jn({account:Object.assign({serverUrl:i,credentials:o},t),headers:Object.assign(Object.assign({},c),r),loadCollections:n,loadObjects:a})})),createObject:d,updateObject:h,deleteObject:f,calendarQuery:E,addressBookQuery:S,collectionQuery:g,makeCollection:y,calendarMultiGet:A,makeCalendar:T,syncCollection:v,supportedReportSet:m,isCollectionDirty:b,smartCollectionSync:w,fetchCalendars:_,fetchCalendarObjects:C,createCalendarObject:O,updateCalendarObject:D,deleteCalendarObject:x,syncCalendars:R,fetchAddressBooks:ai(Fn,{account:l,headers:c}),addressBookMultiGet:F,fetchVCards:ai(Nn,{headers:c}),createVCard:ai(jn,{headers:c}),updateVCard:ai(Ln,{headers:c}),deleteVCard:ai(kn,{headers:c})}}));class fi{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return t(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=si(this.credentials);break;case"Oauth":this.authHeaders=(yield li(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield Jn({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(r){return t(this,void 0,void 0,(function*(){const{init:t}=r,n=e(r,["init"]),{headers:i}=t,o=e(t,["headers"]);return hn(Object.assign(Object.assign({},n),{init:Object.assign(Object.assign({},o),{headers:Object.assign(Object.assign({},this.authHeaders),i)})}))}))}createObject(...e){return t(this,void 0,void 0,(function*(){return ai(pn,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return t(this,void 0,void 0,(function*(){return ai(gn,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return t(this,void 0,void 0,(function*(){return ai(yn,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return t(this,void 0,void 0,(function*(){return ai(fn,{headers:this.authHeaders})(e[0])}))}createAccount(e){return t(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:n,loadObjects:i}=e;return Jn({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:n,loadObjects:i})}))}collectionQuery(...e){return t(this,void 0,void 0,(function*(){return ai(En,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return t(this,void 0,void 0,(function*(){return ai(An,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return t(this,void 0,void 0,(function*(){return ai(Cn,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return t(this,void 0,void 0,(function*(){return ai(Tn,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return t(this,void 0,void 0,(function*(){return ai(_n,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return t(this,void 0,void 0,(function*(){return ai(On,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return t(this,void 0,void 0,(function*(){return ai(Un,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return t(this,void 0,void 0,(function*(){return ai(Mn,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return t(this,void 0,void 0,(function*(){return ai(Bn,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return t(this,void 0,void 0,(function*(){return ai(Vn,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return t(this,void 0,void 0,(function*(){return ai(Kn,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return t(this,void 0,void 0,(function*(){return ai($n,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return t(this,void 0,void 0,(function*(){return ai(Hn,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return t(this,void 0,void 0,(function*(){return ai(Yn,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return t(this,void 0,void 0,(function*(){return ai(zn,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return t(this,void 0,void 0,(function*(){return ai(Rn,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return t(this,void 0,void 0,(function*(){return ai(Sn,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return t(this,void 0,void 0,(function*(){return ai(Fn,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return t(this,void 0,void 0,(function*(){return ai(Nn,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return t(this,void 0,void 0,(function*(){return ai(jn,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return t(this,void 0,void 0,(function*(){return ai(Ln,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return t(this,void 0,void 0,(function*(){return ai(kn,{headers:this.authHeaders})(e[0])}))}}var pi=Object.freeze({__proto__:null,DAVClient:fi,createDAVClient:hi}),gi=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:U,DAVNamespaceShort:V,DAVAttributeMap:M},pi),vn),Dn),ri),In),Gn),di),ln);export{M as DAVAttributeMap,fi as DAVClient,U as DAVNamespace,V as DAVNamespaceShort,Rn as addressBookQuery,Bn as calendarMultiGet,Un as calendarQuery,un as cleanupFalsy,En as collectionQuery,Jn as createAccount,$n as createCalendarObject,hi as createDAVClient,pn as createObject,jn as createVCard,hn as davRequest,gi as default,Yn as deleteCalendarObject,yn as deleteObject,kn as deleteVCard,Fn as fetchAddressBooks,Kn as fetchCalendarObjects,Vn as fetchCalendars,ui as fetchOauthTokens,Nn as fetchVCards,qn as freeBusyQuery,si as getBasicAuthHeaders,sn as getDAVAttribute,li as getOauthHeaders,_n as isCollectionDirty,Mn as makeCalendar,fn as propfind,ci as refreshAccessToken,On as smartCollectionSync,Tn as supportedReportSet,zn as syncCalendars,Cn as syncCollection,Hn as updateCalendarObject,gn as updateObject,Ln as updateVCard,an as urlContains,on as urlEquals}; +function e(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i-1};function l(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function d(e){return"string"!=typeof e&&(e=String(e)),e}function h(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i&&(t[Symbol.iterator]=function(){return t}),t}function f(e){this.map={},e instanceof f?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function g(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=g(t);return t.readAsArrayBuffer(e),r}function v(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():s&&o&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=v(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=v(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=p(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(y)}),this.text=function(){var e,t,r,n=p(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=g(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function E(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function A(e,t){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:""});return e.type="error",e};var T=[301,302,303,307,308];A.redirect=function(e,t){if(-1===T.indexOf(t))throw new RangeError("Invalid status code");return new A(null,{status:t,headers:{location:e}})},t.DOMException=r.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,n){return new Promise((function(i,a){var u=new w(e,n);if(u.signal&&u.signal.aborted)return a(new t.DOMException("Aborted","AbortError"));var c=new XMLHttpRequest;function l(){c.abort()}c.onload=function(){var e,t,r={status:c.status,statusText:c.statusText,headers:(e=c.getAllResponseHeaders()||"",t=new f,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var n="response"in c?c.response:c.responseText;setTimeout((function(){i(new A(n,r))}),0)},c.onerror=function(){setTimeout((function(){a(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){setTimeout((function(){a(new TypeError("Network request failed"))}),0)},c.onabort=function(){setTimeout((function(){a(new t.DOMException("Aborted","AbortError"))}),0)},c.open(u.method,function(e){try{return""===e&&r.location.href?r.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":s&&u.headers.get("Content-Type")&&-1!==u.headers.get("Content-Type").indexOf("application/octet-stream")&&(c.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof f?u.headers.forEach((function(e,t){c.setRequestHeader(t,e)})):Object.getOwnPropertyNames(n.headers).forEach((function(e){c.setRequestHeader(e,d(n.headers[e]))})),u.signal&&(u.signal.addEventListener("abort",l),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",l)}),c.send(void 0===u._bodyInit?null:u._bodyInit)}))}_.polyfill=!0,r.fetch||(r.fetch=_,r.Headers=f,r.Request=w,r.Response=A),t.Headers=f,t.Request=w,t.Response=A,t.fetch=_}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var o=n.fetch?n:i;(t=o.fetch).default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t}(o,o.exports);var a=o.exports,s="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function u(){throw new Error("setTimeout has not been defined")}function c(){throw new Error("clearTimeout has not been defined")}var l=u,d=c;function h(e){if(l===setTimeout)return setTimeout(e,0);if((l===u||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}"function"==typeof s.setTimeout&&(l=setTimeout),"function"==typeof s.clearTimeout&&(d=clearTimeout);var f,p=[],g=!1,y=-1;function v(){g&&f&&(g=!1,f.length?p=f.concat(p):y=-1,p.length&&m())}function m(){if(!g){var e=h(v);g=!0;for(var t=p.length;t;){for(f=p,p=[];++y1)for(var r=1;r=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}return N=function(s,u){u=u||{};var c=typeof s;if("string"===c&&s.length>0)return function(a){if((a=String(a)).length>100)return;var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a);if(!s)return;var u=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*o;case"weeks":case"week":case"w":return u*i;case"days":case"day":case"d":return u*n;case"hours":case"hour":case"hrs":case"hr":case"h":return u*r;case"minutes":case"minute":case"mins":case"min":case"m":return u*t;case"seconds":case"second":case"secs":case"sec":case"s":return u*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(s);if("number"===c&&isFinite(s))return u.long?function(i){var o=Math.abs(i);if(o>=n)return a(i,o,n,"day");if(o>=r)return a(i,o,r,"hour");if(o>=t)return a(i,o,t,"minute");if(o>=e)return a(i,o,e,"second");return i+" ms"}(s):function(i){var o=Math.abs(i);if(o>=n)return Math.round(i/n)+"d";if(o>=r)return Math.round(i/r)+"h";if(o>=t)return Math.round(i/t)+"m";if(o>=e)return Math.round(i/e)+"s";return i+"ms"}(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))},N}var P=function(e){function t(e){let n,i,o,a=null;function s(...e){if(!s.enabled)return;const r=s,i=Number(new Date),o=i-(n||i);r.diff=o,r.prev=n,r.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,i)=>{if("%%"===n)return"%";a++;const o=t.formatters[i];if("function"==typeof o){const t=e[a];n=o.call(r,t),e.splice(a,1),a--}return n})),t.formatArgs.call(r,e);(r.log||t.log).apply(r,e)}return s.namespace=e,s.useColors=t.useColors(),s.color=t.selectColor(e),s.extend=r,s.destroy=t.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(i!==t.namespaces&&(i=t.namespaces,o=t.enabled(e)),o),set:e=>{a=e}}),"function"==typeof t.init&&t.init(s),s}function r(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==L&&"env"in L&&(e=L.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=P(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(k,k.exports);var U,B=n(k.exports);!function(e){e.CALENDAR_SERVER="http://calendarserver.org/ns/",e.CALDAV_APPLE="http://apple.com/ns/ical/",e.CALDAV="urn:ietf:params:xml:ns:caldav",e.CARDDAV="urn:ietf:params:xml:ns:carddav",e.DAV="DAV:"}(U||(U={}));const M={[U.CALDAV]:"xmlns:c",[U.CARDDAV]:"xmlns:card",[U.CALENDAR_SERVER]:"xmlns:cs",[U.CALDAV_APPLE]:"xmlns:ca",[U.DAV]:"xmlns:d"};var V,K;!function(e){e.CALDAV="c",e.CARDDAV="card",e.CALENDAR_SERVER="cs",e.CALDAV_APPLE="ca",e.DAV="d"}(V||(V={})),function(e){e.VEVENT="VEVENT",e.VTODO="VTODO",e.VJOURNAL="VJOURNAL",e.VFREEBUSY="VFREEBUSY",e.VTIMEZONE="VTIMEZONE",e.VALARM="VALARM"}(K||(K={}));var $=[],H=[],Y="undefined"!=typeof Uint8Array?Uint8Array:Array,z=!1;function q(){z=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+$[i>>12&63]+$[i>>6&63]+$[63&i]);return o.join("")}function W(e){var t;z||q();for(var r=e.length,n=r%3,i="",o=[],a=16383,s=0,u=r-n;su?u:s+a));return 1===n?(t=e[r-1],i+=$[t>>2],i+=$[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=$[t>>10],i+=$[t>>4&63],i+=$[t<<2&63],i+="="),o.push(i),o.join("")}function Q(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,l=-7,d=r?i-1:0,h=r?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=c}return(f?-1:1)*a*Math.pow(2,o-n)}function X(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+d>=1?h/u:h*Math.pow(2,1-d))*u>=2&&(a++,u/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*u-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<0;e[r+f]=255&a,f+=p,a/=256,c-=8);e[r+f-p]|=128*g}var Z={}.toString,J=Array.isArray||function(e){return"[object Array]"==Z.call(e)};function ee(){return re.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function te(e,t){if(ee()=ee())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ee().toString(16)+" bytes");return 0|e}function ue(e){return!(null==e||!e._isBuffer)}function ce(e,t){if(ue(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return ke(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ie(e).length;default:if(n)return ke(e).length;t=(""+t).toLowerCase(),n=!0}}function le(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _e(this,t,r);case"utf8":case"utf-8":return Ee(this,t,r);case"ascii":return Ae(this,t,r);case"latin1":case"binary":return Te(this,t,r);case"base64":return we(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ce(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function de(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function he(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=re.from(t,n)),ue(t))return 0===t.length?-1:fe(e,t,r,n,i);if("number"==typeof t)return t&=255,re.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):fe(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function fe(e,t,r,n,i){var o,a=1,s=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var d=!0,h=0;hi&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function we(e,t,r){return 0===t&&r===e.length?W(e):W(e.slice(t,r))}function Ee(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=r)switch(d){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},re.prototype.compare=function(e,t,r,n,i){if(!ue(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(n,i),c=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return pe(this,e,t,r);case"utf8":case"utf-8":return ge(this,e,t,r);case"ascii":return ye(this,e,t,r);case"latin1":case"binary":return ve(this,e,t,r);case"base64":return me(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},re.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ae(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function xe(e,t,r,n,i,o){if(!ue(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function De(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Re(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function Se(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Fe(e,t,r,n,i){return i||Se(e,0,r,4),X(e,t,r,n,23,4),r+4}function Ne(e,t,r,n,i){return i||Se(e,0,r,8),X(e,t,r,n,52,8),r+8}re.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},re.prototype.readUInt8=function(e,t){return t||Oe(e,1,this.length),this[e]},re.prototype.readUInt16LE=function(e,t){return t||Oe(e,2,this.length),this[e]|this[e+1]<<8},re.prototype.readUInt16BE=function(e,t){return t||Oe(e,2,this.length),this[e]<<8|this[e+1]},re.prototype.readUInt32LE=function(e,t){return t||Oe(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},re.prototype.readUInt32BE=function(e,t){return t||Oe(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},re.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Oe(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},re.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Oe(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},re.prototype.readInt8=function(e,t){return t||Oe(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},re.prototype.readInt16LE=function(e,t){t||Oe(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},re.prototype.readInt16BE=function(e,t){t||Oe(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},re.prototype.readInt32LE=function(e,t){return t||Oe(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},re.prototype.readInt32BE=function(e,t){return t||Oe(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},re.prototype.readFloatLE=function(e,t){return t||Oe(e,4,this.length),Q(this,e,!0,23,4)},re.prototype.readFloatBE=function(e,t){return t||Oe(e,4,this.length),Q(this,e,!1,23,4)},re.prototype.readDoubleLE=function(e,t){return t||Oe(e,8,this.length),Q(this,e,!0,52,8)},re.prototype.readDoubleBE=function(e,t){return t||Oe(e,8,this.length),Q(this,e,!1,52,8)},re.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||xe(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},re.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,1,255,0),re.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},re.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,2,65535,0),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):De(this,e,t,!0),t+2},re.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,2,65535,0),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):De(this,e,t,!1),t+2},re.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,4,4294967295,0),re.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Re(this,e,t,!0),t+4},re.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,4,4294967295,0),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Re(this,e,t,!1),t+4},re.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);xe(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},re.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);xe(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},re.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,1,127,-128),re.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},re.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,2,32767,-32768),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):De(this,e,t,!0),t+2},re.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,2,32767,-32768),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):De(this,e,t,!1),t+2},re.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,4,2147483647,-2147483648),re.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Re(this,e,t,!0),t+4},re.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||xe(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),re.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Re(this,e,t,!1),t+4},re.prototype.writeFloatLE=function(e,t,r){return Fe(this,e,t,!0,r)},re.prototype.writeFloatBE=function(e,t,r){return Fe(this,e,t,!1,r)},re.prototype.writeDoubleLE=function(e,t,r){return Ne(this,e,t,!0,r)},re.prototype.writeDoubleBE=function(e,t,r){return Ne(this,e,t,!1,r)},re.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!re.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Ie(e){return function(e){var t,r,n,i,o,a;z||q();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new Y(3*s/4-o),n=o>0?s-4:s;var u=0;for(t=0,r=0;t>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=H[e.charCodeAt(t)]<<2|H[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===o&&(i=H[e.charCodeAt(t)]<<10|H[e.charCodeAt(t+1)]<<4|H[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(je,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Pe(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Ue(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var Be={};function Me(){}function Ve(){Ve.init.call(this)}function Ke(e){return void 0===e._maxListeners?Ve.defaultMaxListeners:e._maxListeners}function $e(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Xe(e,n),o=0;o0&&a.length>i){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,s=u,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function We(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Qe(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Xe(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}Me.prototype=Object.create(null),Ve.EventEmitter=Ve,Ve.usingDomains=!1,Ve.prototype.domain=void 0,Ve.prototype._events=void 0,Ve.prototype._maxListeners=void 0,Ve.defaultMaxListeners=10,Ve.init=function(){this.domain=null,Ve.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Me,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Ve.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Ve.prototype.getMaxListeners=function(){return Ke(this)},Ve.prototype.emit=function(e){var t,r,n,i,o,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var l="function"==typeof r;switch(n=arguments.length){case 1:$e(r,l,this);break;case 2:He(r,l,this,arguments[1]);break;case 3:Ye(r,l,this,arguments[1],arguments[2]);break;case 4:ze(r,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new Me,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var Ze="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},Je=/%[sdj%]/g;function et(e){if(!ht(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),lt(t)?r.showHidden=t:t&&wt(r,t),ft(r.showHidden)&&(r.showHidden=!1),ft(r.depth)&&(r.depth=2),ft(r.colors)&&(r.colors=!1),ft(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ot),st(r,e,r.depth)}function ot(e,t){var r=it.styles[t];return r?"["+it.colors[r][0]+"m"+e+"["+it.colors[r][1]+"m":e}function at(e,t){return e}function st(e,t,r){if(e.customInspect&&t&&mt(t.inspect)&&t.inspect!==it&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return ht(n)||(n=st(e,n,r)),n}var i=function(e,t){if(ft(t))return e.stylize("undefined","undefined");if(ht(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(n=t,"number"==typeof n)return e.stylize(""+t,"number");var n;if(lt(t))return e.stylize(""+t,"boolean");if(dt(t))return e.stylize("null","null")}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),vt(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return ut(t);if(0===o.length){if(mt(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(pt(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(yt(t))return e.stylize(Date.prototype.toString.call(t),"date");if(vt(t))return ut(t)}var u,c,l="",d=!1,h=["{","}"];(u=t,Array.isArray(u)&&(d=!0,h=["[","]"]),mt(t))&&(l=" [Function"+(t.name?": "+t.name:"")+"]");return pt(t)&&(l=" "+RegExp.prototype.toString.call(t)),yt(t)&&(l=" "+Date.prototype.toUTCString.call(t)),vt(t)&&(l=" "+ut(t)),0!==o.length||d&&0!=t.length?r<0?pt(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=d?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(c,l,h)):h[0]+l+h[1]}function ut(e){return"["+Error.prototype.toString.call(e)+"]"}function ct(e,t,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Et(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(u.value)<0?(s=dt(r)?st(e,u.value,null):st(e,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),ft(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function lt(e){return"boolean"==typeof e}function dt(e){return null===e}function ht(e){return"string"==typeof e}function ft(e){return void 0===e}function pt(e){return gt(e)&&"[object RegExp]"===bt(e)}function gt(e){return"object"==typeof e&&null!==e}function yt(e){return gt(e)&&"[object Date]"===bt(e)}function vt(e){return gt(e)&&("[object Error]"===bt(e)||e instanceof Error)}function mt(e){return"function"==typeof e}function bt(e){return Object.prototype.toString.call(e)}function wt(e,t){if(!t||!gt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function Et(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function At(){this.head=null,this.tail=null,this.length=0}it.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},it.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},At.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},At.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},At.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},At.prototype.clear=function(){this.head=this.tail=null,this.length=0},At.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},At.prototype.concat=function(e){if(0===this.length)return re.alloc(0);if(1===this.length)return this.head.data;for(var t=re.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Tt=re.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _t(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Tt(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Ot;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=xt;break;default:return void(this.write=Ct)}this.charBuffer=new re(6),this.charReceived=0,this.charLength=0}function Ct(e){return e.toString(this.encoding)}function Ot(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function xt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}_t.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var i;n=(t+=e.toString(this.encoding,0,n)).length-1;if((i=t.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,n)}return t},_t.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},_t.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t};var Dt=Object.freeze({__proto__:null,StringDecoder:_t});Ft.ReadableState=St;var Rt=function(e){if(ft(rt)&&(rt=L.env.NODE_DEBUG||""),e=e.toUpperCase(),!nt[e])if(new RegExp("\\b"+e+"\\b","i").test(rt)){nt[e]=function(){var t=et.apply(null,arguments);console.error("%s %d: %s",e,0,t)}}else nt[e]=function(){};return nt[e]}("stream");function St(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof ir&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new At,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new _t(e.encoding),this.encoding=e.encoding)}function Ft(e){if(!(this instanceof Ft))return new Ft(e);this._readableState=new St(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),Ve.call(this)}function Nt(e,t,r,n,i){var o=function(e,t){var r=null;re.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));return r}(t,r);if(o)e.emit("error",o);else if(null===r)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,Lt(e)}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||i||n||(r=t.decoder.write(r),u=!t.objectMode&&0===r.length),i||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&Lt(e))),function(e,t){t.readingMore||(t.readingMore=!0,b(It,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function Lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(Rt("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?b(kt,e):kt(e))}function kt(e){Rt("emit readable"),e.emit("readable"),Bt(e)}function It(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=re.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function Vt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,b(Kt,t,e))}function Kt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function $t(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return Rt("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Vt(this):Lt(this),null;if(0===(e=jt(e,t))&&t.ended)return 0===t.length&&Vt(this),null;var n,i=t.needReadable;return Rt("need readable",i),(0===t.length||t.length-e0?Mt(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Vt(this)),null!==n&&this.emit("data",n),n},Ft.prototype._read=function(e){this.emit("error",new Error("not implemented"))},Ft.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,Rt("pipe count=%d opts=%j",n.pipesCount,t);var i=!t||!1!==t.end?a:c;function o(e){Rt("onunpipe"),e===r&&c()}function a(){Rt("onend"),e.end()}n.endEmitted?b(i):r.once("end",i),e.on("unpipe",o);var s=function(e){return function(){var t=e._readableState;Rt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,Bt(e))}}(r);e.on("drain",s);var u=!1;function c(){Rt("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",h),e.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",c),r.removeListener("data",d),u=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function d(t){Rt("ondata"),l=!1,!1!==e.write(t)||l||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==$t(n.pipes,e))&&!u&&(Rt("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,l=!0),r.pause())}function h(t){var r;Rt("onerror",t),g(),e.removeListener("error",h),0===(r="error",e.listeners(r).length)&&e.emit("error",t)}function f(){e.removeListener("finish",p),g()}function p(){Rt("onfinish"),e.removeListener("close",f),g()}function g(){Rt("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",h),e.once("close",f),e.once("finish",p),e.emit("pipe",r),n.flowing||(Rt("pipe resume"),r.resume()),e},Ft.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},qt.prototype._write=function(e,t,r){r(new Error("not implemented"))},qt.prototype._writev=null,qt.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Jt(e,t),r&&(t.finished?b(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r)},Ze(ir,Ft);for(var tr=Object.keys(qt.prototype),rr=0;rr"===o?(_(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=E.TEXT):p(o)?(n.state=E.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case E.SGML_DECL_QUOTED:o===n.q&&(n.state=E.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case E.DOCTYPE:">"===o?(n.state=E.TEXT,_(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=E.DOCTYPE_DTD:p(o)&&(n.state=E.DOCTYPE_QUOTED,n.q=o));continue;case E.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=E.DOCTYPE);continue;case E.DOCTYPE_DTD:n.doctype+=o,"]"===o?n.state=E.DOCTYPE:p(o)&&(n.state=E.DOCTYPE_DTD_QUOTED,n.q=o);continue;case E.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=E.DOCTYPE_DTD,n.q="");continue;case E.COMMENT:"-"===o?n.state=E.COMMENT_ENDING:n.comment+=o;continue;case E.COMMENT_ENDING:"-"===o?(n.state=E.COMMENT_ENDED,n.comment=O(n.opt,n.comment),n.comment&&_(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=E.COMMENT);continue;case E.COMMENT_ENDED:">"!==o?(R(n,"Malformed comment"),n.comment+="--"+o,n.state=E.COMMENT):n.state=E.TEXT;continue;case E.CDATA:"]"===o?n.state=E.CDATA_ENDING:n.cdata+=o;continue;case E.CDATA_ENDING:"]"===o?n.state=E.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=E.CDATA);continue;case E.CDATA_ENDING_2:">"===o?(n.cdata&&_(n,"oncdata",n.cdata),_(n,"onclosecdata"),n.cdata="",n.state=E.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=E.CDATA);continue;case E.PROC_INST:"?"===o?n.state=E.PROC_INST_ENDING:f(o)?n.state=E.PROC_INST_BODY:n.procInstName+=o;continue;case E.PROC_INST_BODY:if(!n.procInstBody&&f(o))continue;"?"===o?n.state=E.PROC_INST_ENDING:n.procInstBody+=o;continue;case E.PROC_INST_ENDING:">"===o?(_(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=E.TEXT):(n.procInstBody+="?"+o,n.state=E.PROC_INST_BODY);continue;case E.OPEN_TAG:y(l,o)?n.tagName+=o:(S(n),">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:(f(o)||R(n,"Invalid character in tag name"),n.state=E.ATTRIB));continue;case E.OPEN_TAG_SLASH:">"===o?(j(n,!0),L(n)):(R(n,"Forward-slash in opening tag not followed by >"),n.state=E.ATTRIB);continue;case E.ATTRIB:if(f(o))continue;">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:y(c,o)?(n.attribName=o,n.attribValue="",n.state=E.ATTRIB_NAME):R(n,"Invalid attribute name");continue;case E.ATTRIB_NAME:"="===o?n.state=E.ATTRIB_VALUE:">"===o?(R(n,"Attribute without value"),n.attribValue=n.attribName,N(n),j(n)):f(o)?n.state=E.ATTRIB_NAME_SAW_WHITE:y(l,o)?n.attribName+=o:R(n,"Invalid attribute name");continue;case E.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=E.ATTRIB_VALUE;else{if(f(o))continue;R(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",_(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?j(n):y(c,o)?(n.attribName=o,n.state=E.ATTRIB_NAME):(R(n,"Invalid attribute name"),n.state=E.ATTRIB)}continue;case E.ATTRIB_VALUE:if(f(o))continue;p(o)?(n.q=o,n.state=E.ATTRIB_VALUE_QUOTED):(R(n,"Unquoted attribute value"),n.state=E.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case E.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=E.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}N(n),n.q="",n.state=E.ATTRIB_VALUE_CLOSED;continue;case E.ATTRIB_VALUE_CLOSED:f(o)?n.state=E.ATTRIB:">"===o?j(n):"/"===o?n.state=E.OPEN_TAG_SLASH:y(c,o)?(R(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=E.ATTRIB_NAME):R(n,"Invalid attribute name");continue;case E.ATTRIB_VALUE_UNQUOTED:if(!g(o)){"&"===o?n.state=E.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}N(n),">"===o?j(n):n.state=E.ATTRIB;continue;case E.CLOSE_TAG:if(n.tagName)">"===o?L(n):y(l,o)?n.tagName+=o:n.script?(n.script+=""===o?L(n):R(n,"Invalid characters in closing tag");continue;case E.TEXT_ENTITY:case E.ATTRIB_VALUE_ENTITY_Q:case E.ATTRIB_VALUE_ENTITY_U:var u,m;switch(n.state){case E.TEXT_ENTITY:u=E.TEXT,m="textNode";break;case E.ATTRIB_VALUE_ENTITY_Q:u=E.ATTRIB_VALUE_QUOTED,m="attribValue";break;case E.ATTRIB_VALUE_ENTITY_U:u=E.ATTRIB_VALUE_UNQUOTED,m="attribValue"}";"===o?(n[m]+=k(n),n.entity="",n.state=u):y(n.entity.length?h:d,o)?n.entity+=o:(R(n,"Invalid character in entity name"),n[m]+="&"+n.entity+o,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;on)switch(r[o]){case"textNode":C(t);break;case"cdata":_(t,"oncdata",t.cdata),t.cdata="";break;case"script":_(t,"onscript",t.script),t.script="";break;default:x(t,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}var u=e.MAX_BUFFER_LENGTH-i;t.bufferCheckPosition=u+t.position}(n),n} +/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;C(e=this),""!==e.cdata&&(_(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(_(e,"onscript",e.script),e.script="")}};try{t=hr.Stream}catch(e){t=function(){}}var i=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function o(e,r){if(!(this instanceof o))return new o(e,r);t.apply(this),this._parser=new n(e,r),this.writable=!0,this.readable=!0;var a=this;this._parser.onend=function(){a.emit("end")},this._parser.onerror=function(e){a.emit("error",e),a._parser.error=null},this._decoder=null,i.forEach((function(e){Object.defineProperty(a,"on"+e,{get:function(){return a._parser["on"+e]},set:function(t){if(!t)return a.removeAllListeners(e),a._parser["on"+e]=t,t;a.on(e,t)},enumerable:!0,configurable:!1})}))}o.prototype=Object.create(t.prototype,{constructor:{value:o}}),o.prototype.write=function(e){if("function"==typeof re.isBuffer&&re.isBuffer(e)){if(!this._decoder){var t=fr.StringDecoder;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},o.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},o.prototype.on=function(e,r){var n=this;return n._parser["on"+e]||-1===i.indexOf(e)||(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),t.prototype.on.call(n,e,r)};var a="http://www.w3.org/XML/1998/namespace",s="http://www.w3.org/2000/xmlns/",u={xml:a,xmlns:s},c=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,d=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function f(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function p(e){return'"'===e||"'"===e}function g(e){return">"===e||f(e)}function y(e,t){return e.test(t)}function v(e,t){return!y(e,t)}var m,b,w,E=0;for(var A in e.STATE={BEGIN:E++,BEGIN_WHITESPACE:E++,TEXT:E++,TEXT_ENTITY:E++,OPEN_WAKA:E++,SGML_DECL:E++,SGML_DECL_QUOTED:E++,DOCTYPE:E++,DOCTYPE_QUOTED:E++,DOCTYPE_DTD:E++,DOCTYPE_DTD_QUOTED:E++,COMMENT_STARTING:E++,COMMENT:E++,COMMENT_ENDING:E++,COMMENT_ENDED:E++,CDATA:E++,CDATA_ENDING:E++,CDATA_ENDING_2:E++,PROC_INST:E++,PROC_INST_BODY:E++,PROC_INST_ENDING:E++,OPEN_TAG:E++,OPEN_TAG_SLASH:E++,ATTRIB:E++,ATTRIB_NAME:E++,ATTRIB_NAME_SAW_WHITE:E++,ATTRIB_VALUE:E++,ATTRIB_VALUE_QUOTED:E++,ATTRIB_VALUE_CLOSED:E++,ATTRIB_VALUE_UNQUOTED:E++,ATTRIB_VALUE_ENTITY_Q:E++,ATTRIB_VALUE_ENTITY_U:E++,CLOSE_TAG:E++,CLOSE_TAG_SAW_WHITE:E++,SCRIPT:E++,SCRIPT_ENDING:E++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var r=e.ENTITIES[t],n="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=n})),e.STATE)e.STATE[e.STATE[A]]=A;function T(e,t,r){e[t]&&e[t](r)}function _(e,t,r){e.textNode&&C(e),T(e,t,r)}function C(e){e.textNode=O(e.opt,e.textNode),e.textNode&&T(e,"ontext",e.textNode),e.textNode=""}function O(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function x(e,t){return C(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,T(e,"onerror",t),e}function D(e){return e.sawRoot&&!e.closedRoot&&R(e,"Unclosed root tag"),e.state!==E.BEGIN&&e.state!==E.BEGIN_WHITESPACE&&e.state!==E.TEXT&&x(e,"Unexpected end"),C(e),e.c="",e.closed=!0,T(e,"onend"),n.call(e,e.strict,e.opt),e}function R(e,t){if("object"!=typeof e||!(e instanceof n))throw new Error("bad call to strictFail");e.strict&&x(e,t)}function S(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,_(e,"onopentagstart",r)}function F(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),n=r[0],i=r[1];return t&&"xmlns"===e&&(n="xmlns",i=""),{prefix:n,local:i}}function N(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=F(e.attribName,!0),r=t.prefix,n=t.local;if("xmlns"===r)if("xml"===n&&e.attribValue!==a)R(e,"xml: prefix must be bound to "+a+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==s)R(e,"xmlns: prefix must be bound to "+s+"\nActual: "+e.attribValue);else{var i=e.tag,o=e.tags[e.tags.length-1]||e;i.ns===o.ns&&(i.ns=Object.create(o.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,_(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function j(e,t){if(e.opt.xmlns){var r=e.tag,n=F(e.tagName);r.prefix=n.prefix,r.local=n.local,r.uri=r.ns[n.prefix]||"",r.prefix&&!r.uri&&(R(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=n.prefix);var i=e.tags[e.tags.length-1]||e;r.ns&&i.ns!==r.ns&&Object.keys(r.ns).forEach((function(t){_(e,"onopennamespace",{prefix:t,uri:r.ns[t]})}));for(var o=0,a=e.attribList.length;o",e.tagName="",void(e.state=E.SCRIPT);_(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var n=r;t--&&e.tags[t].name!==n;)R(e,"Unexpected close tag");if(t<0)return R(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=E.TEXT);e.tagName=r;for(var i=e.tags.length;i-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,_(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];var u=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==u.ns&&Object.keys(o.ns).forEach((function(t){var r=o.ns[t];_(e,"onclosenamespace",{prefix:t,uri:r})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=E.TEXT}function k(e){var t,r=e.entity,n=r.toLowerCase(),i="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[n]?e.ENTITIES[n]:("#"===(r=n).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),i=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),i=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==r?(R(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function I(e,t){"<"===t?(e.state=E.OPEN_WAKA,e.startTagPosition=e.position):f(t)||(R(e,"Non-whitespace before first tag."),e.textNode=t,e.state=E.TEXT)}function P(e,t){var r="";return t1114111||b(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?n.push(s):(e=55296+((s-=65536)>>10),t=s%1024+56320,n.push(e,t)),(i+1===o||n.length>r)&&(a+=m.apply(null,n),n.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:w,configurable:!0,writable:!0}):String.fromCodePoint=w)}(Be);var pr,gr,yr=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)},vr=yr,mr={copyOptions:function(e){var t,r={};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r},ensureFlagExists:function(e,t){e in t&&"boolean"==typeof t[e]||(t[e]=!1)},ensureSpacesExists:function(e){(!("spaces"in e)||"number"!=typeof e.spaces&&"string"!=typeof e.spaces)&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){"alwaysArray"in e&&("boolean"==typeof e.alwaysArray||vr(e.alwaysArray))||(e.alwaysArray=!1)},ensureKeyExists:function(e,t){e+"Key"in t&&"string"==typeof t[e+"Key"]||(t[e+"Key"]=t.compact?"_"+e:e)},checkFnExists:function(e,t){return e+"Fn"in t}},br=Be,wr=mr,Er=yr;function Ar(e){var t=Number(e);if(!isNaN(t))return t;var r=e.toLowerCase();return"true"===r||"false"!==r&&e}function Tr(e,t){var r;if(pr.compact){if(!gr[pr[e+"Key"]]&&(Er(pr.alwaysArray)?-1!==pr.alwaysArray.indexOf(pr[e+"Key"]):pr.alwaysArray)&&(gr[pr[e+"Key"]]=[]),gr[pr[e+"Key"]]&&!Er(gr[pr[e+"Key"]])&&(gr[pr[e+"Key"]]=[gr[pr[e+"Key"]]]),e+"Fn"in pr&&"string"==typeof t&&(t=pr[e+"Fn"](t,gr)),"instruction"===e&&("instructionFn"in pr||"instructionNameFn"in pr))for(r in t)if(t.hasOwnProperty(r))if("instructionFn"in pr)t[r]=pr.instructionFn(t[r],r,gr);else{var n=t[r];delete t[r],t[pr.instructionNameFn(r,n,gr)]=n}Er(gr[pr[e+"Key"]])?gr[pr[e+"Key"]].push(t):gr[pr[e+"Key"]]=t}else{gr[pr.elementsKey]||(gr[pr.elementsKey]=[]);var i={};if(i[pr.typeKey]=e,"instruction"===e){for(r in t)if(t.hasOwnProperty(r))break;i[pr.nameKey]="instructionNameFn"in pr?pr.instructionNameFn(r,t,gr):r,pr.instructionHasAttributes?(i[pr.attributesKey]=t[r][pr.attributesKey],"instructionFn"in pr&&(i[pr.attributesKey]=pr.instructionFn(i[pr.attributesKey],r,gr))):("instructionFn"in pr&&(t[r]=pr.instructionFn(t[r],r,gr)),i[pr.instructionKey]=t[r])}else e+"Fn"in pr&&(t=pr[e+"Fn"](t,gr)),i[pr[e+"Key"]]=t;pr.addParent&&(i[pr.parentKey]=gr),gr[pr.elementsKey].push(i)}}function _r(e){var t;if("attributesFn"in pr&&e&&(e=pr.attributesFn(e,gr)),(pr.trim||"attributeValueFn"in pr||"attributeNameFn"in pr||pr.nativeTypeAttributes)&&e)for(t in e)if(e.hasOwnProperty(t)&&(pr.trim&&(e[t]=e[t].trim()),pr.nativeTypeAttributes&&(e[t]=Ar(e[t])),"attributeValueFn"in pr&&(e[t]=pr.attributeValueFn(e[t],t,gr)),"attributeNameFn"in pr)){var r=e[t];delete e[t],e[pr.attributeNameFn(t,e[t],gr)]=r}return e}function Cr(e){var t={};if(e.body&&("xml"===e.name.toLowerCase()||pr.instructionHasAttributes)){for(var r,n=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(r=n.exec(e.body));)t[r[1]]=r[2]||r[3]||r[4];t=_r(t)}if("xml"===e.name.toLowerCase()){if(pr.ignoreDeclaration)return;gr[pr.declarationKey]={},Object.keys(t).length&&(gr[pr.declarationKey][pr.attributesKey]=t),pr.addParent&&(gr[pr.declarationKey][pr.parentKey]=gr)}else{if(pr.ignoreInstruction)return;pr.trim&&(e.body=e.body.trim());var i={};pr.instructionHasAttributes&&Object.keys(t).length?(i[e.name]={},i[e.name][pr.attributesKey]=t):i[e.name]=e.body,Tr("instruction",i)}}function Or(e,t){var r;if("object"==typeof e&&(t=e.attributes,e=e.name),t=_r(t),"elementNameFn"in pr&&(e=pr.elementNameFn(e,gr)),pr.compact){var n;if(r={},!pr.ignoreAttributes&&t&&Object.keys(t).length)for(n in r[pr.attributesKey]={},t)t.hasOwnProperty(n)&&(r[pr.attributesKey][n]=t[n]);!(e in gr)&&(Er(pr.alwaysArray)?-1!==pr.alwaysArray.indexOf(e):pr.alwaysArray)&&(gr[e]=[]),gr[e]&&!Er(gr[e])&&(gr[e]=[gr[e]]),Er(gr[e])?gr[e].push(r):gr[e]=r}else gr[pr.elementsKey]||(gr[pr.elementsKey]=[]),(r={})[pr.typeKey]="element",r[pr.nameKey]=e,!pr.ignoreAttributes&&t&&Object.keys(t).length&&(r[pr.attributesKey]=t),pr.alwaysChildren&&(r[pr.elementsKey]=[]),gr[pr.elementsKey].push(r);r[pr.parentKey]=gr,gr=r}function xr(e){pr.ignoreText||(e.trim()||pr.captureSpacesBetweenElements)&&(pr.trim&&(e=e.trim()),pr.nativeType&&(e=Ar(e)),pr.sanitize&&(e=e.replace(/&/g,"&").replace(//g,">")),Tr("text",e))}function Dr(e){pr.ignoreComment||(pr.trim&&(e=e.trim()),Tr("comment",e))}function Rr(e){var t=gr[pr.parentKey];pr.addParent||delete gr[pr.parentKey],gr=t}function Sr(e){pr.ignoreCdata||(pr.trim&&(e=e.trim()),Tr("cdata",e))}function Fr(e){pr.ignoreDoctype||(e=e.replace(/^ /,""),pr.trim&&(e=e.trim()),Tr("doctype",e))}function Nr(e){e.note=e}var jr=function(e,t){var r=br.parser(!0,{}),n={};if(gr=n,pr=function(e){return pr=wr.copyOptions(e),wr.ensureFlagExists("ignoreDeclaration",pr),wr.ensureFlagExists("ignoreInstruction",pr),wr.ensureFlagExists("ignoreAttributes",pr),wr.ensureFlagExists("ignoreText",pr),wr.ensureFlagExists("ignoreComment",pr),wr.ensureFlagExists("ignoreCdata",pr),wr.ensureFlagExists("ignoreDoctype",pr),wr.ensureFlagExists("compact",pr),wr.ensureFlagExists("alwaysChildren",pr),wr.ensureFlagExists("addParent",pr),wr.ensureFlagExists("trim",pr),wr.ensureFlagExists("nativeType",pr),wr.ensureFlagExists("nativeTypeAttributes",pr),wr.ensureFlagExists("sanitize",pr),wr.ensureFlagExists("instructionHasAttributes",pr),wr.ensureFlagExists("captureSpacesBetweenElements",pr),wr.ensureAlwaysArrayExists(pr),wr.ensureKeyExists("declaration",pr),wr.ensureKeyExists("instruction",pr),wr.ensureKeyExists("attributes",pr),wr.ensureKeyExists("text",pr),wr.ensureKeyExists("comment",pr),wr.ensureKeyExists("cdata",pr),wr.ensureKeyExists("doctype",pr),wr.ensureKeyExists("type",pr),wr.ensureKeyExists("name",pr),wr.ensureKeyExists("elements",pr),wr.ensureKeyExists("parent",pr),wr.checkFnExists("doctype",pr),wr.checkFnExists("instruction",pr),wr.checkFnExists("cdata",pr),wr.checkFnExists("comment",pr),wr.checkFnExists("text",pr),wr.checkFnExists("instructionName",pr),wr.checkFnExists("elementName",pr),wr.checkFnExists("attributeName",pr),wr.checkFnExists("attributeValue",pr),wr.checkFnExists("attributes",pr),pr}(t),r.opt={strictEntities:!0},r.onopentag=Or,r.ontext=xr,r.oncomment=Dr,r.onclosetag=Rr,r.onerror=Nr,r.oncdata=Sr,r.ondoctype=Fr,r.onprocessinginstruction=Cr,r.write(e).close(),n[pr.elementsKey]){var i=n[pr.elementsKey];delete n[pr.elementsKey],n[pr.elementsKey]=i,delete n.text}return n},Lr=mr,kr=jr;var Ir,Pr,Ur=mr,Br=yr;function Mr(e,t,r){return(!r&&e.spaces?"\n":"")+Array(t+1).join(e.spaces)}function Vr(e,t,r){if(t.ignoreAttributes)return"";"attributesFn"in t&&(e=t.attributesFn(e,Pr,Ir));var n,i,o,a,s=[];for(n in e)e.hasOwnProperty(n)&&null!==e[n]&&void 0!==e[n]&&(a=t.noQuotesForNativeAttributes&&"string"!=typeof e[n]?"":'"',i=(i=""+e[n]).replace(/"/g,"""),o="attributeNameFn"in t?t.attributeNameFn(n,i,Pr,Ir):n,s.push(t.spaces&&t.indentAttributes?Mr(t,r+1,!1):" "),s.push(o+"="+a+("attributeValueFn"in t?t.attributeValueFn(i,n,Pr,Ir):i)+a));return e&&Object.keys(e).length&&t.spaces&&t.indentAttributes&&s.push(Mr(t,r,!1)),s.join("")}function Kr(e,t,r){return Ir=e,Pr="xml",t.ignoreDeclaration?"":""}function $r(e,t,r){if(t.ignoreInstruction)return"";var n;for(n in e)if(e.hasOwnProperty(n))break;var i="instructionNameFn"in t?t.instructionNameFn(n,e[n],Pr,Ir):n;if("object"==typeof e[n])return Ir=e,Pr=i,"";var o=e[n]?e[n]:"";return"instructionFn"in t&&(o=t.instructionFn(o,n,Pr,Ir)),""}function Hr(e,t){return t.ignoreComment?"":"\x3c!--"+("commentFn"in t?t.commentFn(e,Pr,Ir):e)+"--\x3e"}function Yr(e,t){return t.ignoreCdata?"":"","]]]]>"))+"]]>"}function zr(e,t){return t.ignoreDoctype?"":""}function qr(e,t){return t.ignoreText?"":(e=(e=(e=""+e).replace(/&/g,"&")).replace(/&/g,"&").replace(//g,">"),"textFn"in t?t.textFn(e,Pr,Ir):e)}function Gr(e,t,r,n){return e.reduce((function(e,i){var o=Mr(t,r,n&&!e);switch(i.type){case"element":return e+o+function(e,t,r){Ir=e,Pr=e.name;var n=[],i="elementNameFn"in t?t.elementNameFn(e.name,e):e.name;n.push("<"+i),e[t.attributesKey]&&n.push(Vr(e[t.attributesKey],t,r));var o=e[t.elementsKey]&&e[t.elementsKey].length||e[t.attributesKey]&&"preserve"===e[t.attributesKey]["xml:space"];return o||(o="fullTagEmptyElementFn"in t?t.fullTagEmptyElementFn(e.name,e):t.fullTagEmptyElement),o?(n.push(">"),e[t.elementsKey]&&e[t.elementsKey].length&&(n.push(Gr(e[t.elementsKey],t,r+1)),Ir=e,Pr=e.name),n.push(t.spaces&&function(e,t){var r;if(e.elements&&e.elements.length)for(r=0;r")):n.push("/>"),n.join("")}(i,t,r);case"comment":return e+o+Hr(i[t.commentKey],t);case"doctype":return e+o+zr(i[t.doctypeKey],t);case"cdata":return e+(t.indentCdata?o:"")+Yr(i[t.cdataKey],t);case"text":return e+(t.indentText?o:"")+qr(i[t.textKey],t);case"instruction":var a={};return a[i[t.nameKey]]=i[t.attributesKey]?i:i[t.instructionKey],e+(t.indentInstruction?o:"")+$r(a,t,r)}}),"")}function Wr(e,t,r){var n;for(n in e)if(e.hasOwnProperty(n))switch(n){case t.parentKey:case t.attributesKey:break;case t.textKey:if(t.indentText||r)return!0;break;case t.cdataKey:if(t.indentCdata||r)return!0;break;case t.instructionKey:if(t.indentInstruction||r)return!0;break;case t.doctypeKey:case t.commentKey:default:return!0}return!1}function Qr(e,t,r,n,i){Ir=e,Pr=t;var o="elementNameFn"in r?r.elementNameFn(t,e):t;if(null==e||""===e)return"fullTagEmptyElementFn"in r&&r.fullTagEmptyElementFn(t,e)||r.fullTagEmptyElement?"<"+o+">":"<"+o+"/>";var a=[];if(t){if(a.push("<"+o),"object"!=typeof e)return a.push(">"+qr(e,r)+""),a.join("");e[r.attributesKey]&&a.push(Vr(e[r.attributesKey],r,n));var s=Wr(e,r,!0)||e[r.attributesKey]&&"preserve"===e[r.attributesKey]["xml:space"];if(s||(s="fullTagEmptyElementFn"in r?r.fullTagEmptyElementFn(t,e):r.fullTagEmptyElement),!s)return a.push("/>"),a.join("");a.push(">")}return a.push(Xr(e,r,n+1,!1)),Ir=e,Pr=t,t&&a.push((i?Mr(r,n,!1):"")+""),a.join("")}function Xr(e,t,r,n){var i,o,a,s=[];for(o in e)if(e.hasOwnProperty(o))for(a=Br(e[o])?e[o]:[e[o]],i=0;i{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},on=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),n=t.trim();if(Math.abs(r.length-n.length)>1)return!1;const i="/"===r.slice(-1)?r.slice(0,-1):r,o="/"===n.slice(-1)?n.slice(0,-1):n;return e.includes(o)||t.includes(i)},an=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),n=t.trim(),i="/"===r.slice(-1)?r.slice(0,-1):r,o="/"===n.slice(-1)?n.slice(0,-1):n;return e.includes(o)||t.includes(i)},sn=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[M[t]]:t})),{}),un=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),cn=(e,t)=>t?{[e]:t}:{},ln=(e,t)=>e?t&&0!==t.length?Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e)))):e:{};var dn=Object.freeze({__proto__:null,cleanupFalsy:un,conditionalParam:cn,excludeHeaders:ln,getDAVAttribute:sn,urlContains:an,urlEquals:on});const hn=B("tsdav:request"),fn=e=>t(void 0,void 0,void 0,(function*(){var t;const{url:r,init:n,convertIncoming:i=!0,parseOutgoing:o=!0}=e,{headers:s={},body:u,namespace:c,method:l,attributes:d}=n,h=i?rn.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},u),{_attributes:d}),{compact:!0,spaces:2,elementNameFn:e=>c&&!/^.+:.+/.test(e)?`${c}:${e}`:e}):u,f=yield a.fetch(r,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},un(s)),body:h,method:l}),p=yield f.text();if(!f.ok||!(null===(t=f.headers.get("content-type"))||void 0===t?void 0:t.includes("xml"))||!o)return[{href:f.url,ok:f.ok,status:f.status,statusText:f.statusText,raw:p}];const g=rn.xml2js(p,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,n=Object.keys(r),i=n[n.length-1],o=r[i];if(o.length>0){o[o.length-1]=nn(e)}else r[i]=nn(e)}catch(e){hn(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(g.multistatus.response)?g.multistatus.response:[g.multistatus.response]).map((e=>{var t,r;if(!e)return{status:f.status,statusText:f.statusText,ok:f.ok};const n=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:g,href:e.href,status:(null==n?void 0:n.groups)?Number.parseInt(null==n?void 0:n.groups.status,10):f.status,statusText:null!==(r=null===(t=null==n?void 0:n.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:f.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),pn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i,headersToExclude:o}=e;return fn({url:t,init:{method:"PROPFIND",headers:ln(un(Object.assign({depth:n},i)),o),namespace:V.DAV,body:{propfind:{_attributes:sn([U.CALDAV,U.CALDAV_APPLE,U.CALENDAR_SERVER,U.CARDDAV,U.DAV]),prop:r}}}})})),gn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,data:r,headers:n,headersToExclude:i}=e;return a.fetch(t,{method:"PUT",body:r,headers:ln(n,i)})})),yn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,data:r,etag:n,headers:i,headersToExclude:o}=e;return a.fetch(t,{method:"PUT",body:r,headers:ln(un(Object.assign({"If-Match":n},i)),o)})})),vn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,headers:r,etag:n,headersToExclude:i}=e;return a.fetch(t,{method:"DELETE",headers:ln(un(Object.assign({"If-Match":n},r)),i)})}));var mn=Object.freeze({__proto__:null,createObject:gn,davRequest:fn,deleteObject:vn,propfind:pn,updateObject:yn});function bn(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const wn=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),En=B("tsdav:collection"),An=e=>t(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:n,defaultNamespace:i=V.DAV,headers:o,headersToExclude:a}=e,s=yield fn({url:t,init:{method:"REPORT",headers:ln(un(Object.assign({depth:n},o)),a),namespace:i,body:r}});return 1!==s.length||s[0].raw?s:[]})),Tn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i,headersToExclude:o}=e;return fn({url:t,init:{method:"MKCOL",headers:ln(un(Object.assign({depth:n},i)),o),namespace:V.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),_n=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o;const{collection:a,headers:s,headersToExclude:u}=e;return null!==(o=null===(i=null===(n=null===(r=null===(t=(yield pn({url:a.url,props:{[`${V.DAV}:supported-report-set`]:{}},depth:"0",headers:ln(s,u)}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===n?void 0:n.supportedReport)||void 0===i?void 0:i.map((e=>Object.keys(e.report)[0])))&&void 0!==o?o:[]})),Cn=e=>t(void 0,void 0,void 0,(function*(){var t,r,n;const{collection:i,headers:o,headersToExclude:a}=e,s=(yield pn({url:i.url,props:{[`${V.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:ln(o,a)})).filter((e=>an(i.url,e.href)))[0];if(!s)throw new Error("Collection does not exist on server");return{isDirty:i.ctag!==(null===(t=s.props)||void 0===t?void 0:t.getctag),newCtag:null===(n=null===(r=s.props)||void 0===r?void 0:r.getctag)||void 0===n?void 0:n.toString()}})),On=e=>{const{url:t,props:r,headers:n,syncLevel:i,syncToken:o,headersToExclude:a}=e;return fn({url:t,init:{method:"REPORT",namespace:V.DAV,headers:ln(Object.assign({},n),a),body:{"sync-collection":{_attributes:sn([U.CALDAV,U.CARDDAV,U.DAV]),"sync-level":i,"sync-token":o,[`${V.DAV}:prop`]:r}}}})},xn=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o,a,s,u,c,l,d;const{collection:h,method:f,headers:p,headersToExclude:g,account:y,detailedResult:v}=e,m=["accountType","homeUrl"];if(!y||!bn(y,m)){if(!y)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${wn(y,m)} before smartCollectionSync`)}const b=null!=f?f:(null===(t=h.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if(En(`smart collection sync with type ${y.accountType} and method ${b}`),"webdav"===b){const e=yield On({url:h.url,props:{[`${V.DAV}:getetag`]:{},[`${"caldav"===y.accountType?V.CALDAV:V.CARDDAV}:${"caldav"===y.accountType?"calendar-data":"address-data"}`]:{},[`${V.DAV}:displayname`]:{}},syncLevel:1,syncToken:h.syncToken,headers:ln(p,g)}),t=e.filter((e=>{var t;const r="caldav"===y.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),c=t.filter((e=>404!==e.status)).map((e=>e.href)),l=t.filter((e=>404===e.status)).map((e=>e.href)),d=(c.length&&null!==(n=yield null===(r=null==h?void 0:h.objectMultiGet)||void 0===r?void 0:r.call(h,{url:h.url,props:{[`${V.DAV}:getetag`]:{},[`${"caldav"===y.accountType?V.CALDAV:V.CARDDAV}:${"caldav"===y.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:c,depth:"1",headers:ln(p,g)}))&&void 0!==n?n:[]).map((e=>{var t,r,n,i,o,a,s,u,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==y?void 0:y.accountType)?null!==(o=null===(i=null===(n=e.props)||void 0===n?void 0:n.calendarData)||void 0===i?void 0:i._cdata)&&void 0!==o?o:null===(a=e.props)||void 0===a?void 0:a.calendarData:null!==(c=null===(u=null===(s=e.props)||void 0===s?void 0:s.addressData)||void 0===u?void 0:u._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),f=null!==(i=h.objects)&&void 0!==i?i:[],m=d.filter((e=>f.every((t=>!an(t.url,e.url))))),b=f.reduce(((e,t)=>{const r=d.find((e=>an(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),w=l.map((e=>({url:e,etag:""}))),E=f.filter((e=>d.some((t=>an(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},h),{objects:v?{created:m,updated:b,deleted:w}:[...E,...m,...b],syncToken:null!==(u=null===(s=null===(a=null===(o=e[0])||void 0===o?void 0:o.raw)||void 0===a?void 0:a.multistatus)||void 0===s?void 0:s.syncToken)&&void 0!==u?u:h.syncToken})}if("basic"===b){const{isDirty:e,newCtag:t}=yield Cn({collection:h,headers:ln(p,g)}),r=null!==(c=h.objects)&&void 0!==c?c:[],n=null!==(d=yield null===(l=h.fetchObjects)||void 0===l?void 0:l.call(h,{collection:h,headers:ln(p,g)}))&&void 0!==d?d:[],i=n.filter((e=>r.every((t=>!an(t.url,e.url))))),o=r.reduce(((e,t)=>{const r=n.find((e=>an(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),a=r.filter((e=>n.every((t=>!an(t.url,e.url))))),s=r.filter((e=>n.some((t=>an(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},h),{objects:v?{created:i,updated:o,deleted:a}:[...s,...i,...o],ctag:t})}return v?Object.assign(Object.assign({},h),{objects:{created:[],updated:[],deleted:[]}}):h}));var Dn=Object.freeze({__proto__:null,collectionQuery:An,isCollectionDirty:Cn,makeCollection:Tn,smartCollectionSync:xn,supportedReportSet:_n,syncCollection:On});const Rn=B("tsdav:addressBook"),Sn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:n,depth:i,headers:o,headersToExclude:a}=e;return An({url:t,body:{"addressbook-query":{_attributes:sn([U.CARDDAV,U.DAV]),[`${V.DAV}:prop`]:r,filter:null!=n?n:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:V.CARDDAV,depth:i,headers:ln(o,a)})})),Fn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:n,depth:i,headers:o}=e;return An({url:t,body:{"addressbook-multiget":{_attributes:sn([U.DAV,U.CARDDAV]),[`${V.DAV}:prop`]:r,[`${V.DAV}:href`]:n}},defaultNamespace:V.CARDDAV,depth:i,headers:o})})),Nn=e=>t(void 0,void 0,void 0,(function*(){const{account:r,headers:n,props:i,headersToExclude:o}=null!=e?e:{},a=["homeUrl","rootUrl"];if(!r||!bn(r,a)){if(!r)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${wn(r,a)} before fetchAddressBooks`)}const s=yield pn({url:r.homeUrl,props:null!=i?i:{[`${V.DAV}:displayname`]:{},[`${V.CALENDAR_SERVER}:getctag`]:{},[`${V.DAV}:resourcetype`]:{},[`${V.DAV}:sync-token`]:{}},depth:"1",headers:ln(n,o)});return Promise.all(s.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var t,n,i,o,a,s,u,c,l;const d=null!==(i=null===(n=null===(t=e.props)||void 0===t?void 0:t.displayname)||void 0===n?void 0:n._cdata)&&void 0!==i?i:null===(o=e.props)||void 0===o?void 0:o.displayname;return Rn(`Found address book named ${"string"==typeof d?d:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(a=e.href)&&void 0!==a?a:"",null!==(s=r.rootUrl)&&void 0!==s?s:"").href,ctag:null===(u=e.props)||void 0===u?void 0:u.getctag,displayName:"string"==typeof d?d:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield _n({collection:e,headers:n})})})))))})),jn=e=>t(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:n,headersToExclude:i,urlFilter:o=(e=>e),useMultiGet:a=!0}=e;Rn(`Fetching vcards from ${null==t?void 0:t.url}`);const s=["url"];if(!t||!bn(t,s)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${wn(t,s)} before fetchVCards`)}const u=(null!=n?n:(yield Sn({url:t.url,props:{[`${V.DAV}:getetag`]:{}},depth:"1",headers:ln(r,i)})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(o).map((e=>new URL(e).pathname));let c=[];return u.length>0&&(c=a?yield Fn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CARDDAV}:address-data`]:{}},objectUrls:u,depth:"1",headers:ln(r,i)}):yield Sn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CARDDAV}:address-data`]:{}},depth:"1",headers:ln(r,i)})),c.map((e=>{var r,n,i,o,a,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(n=e.props)||void 0===n?void 0:n.getetag,data:null!==(a=null===(o=null===(i=e.props)||void 0===i?void 0:i.addressData)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.addressData}}))})),Ln=e=>t(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:n,headers:i,headersToExclude:o}=e;return gn({url:new URL(n,t.url).href,data:r,headers:ln(Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},i),o)})})),kn=e=>t(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:n}=e;return yn({url:t.url,data:t.data,etag:t.etag,headers:ln(Object.assign({"content-type":"text/vcard; charset=utf-8"},r),n)})})),In=e=>t(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:n}=e;return vn({url:t.url,etag:t.etag,headers:ln(r,n)})}));var Pn=Object.freeze({__proto__:null,addressBookMultiGet:Fn,addressBookQuery:Sn,createVCard:Ln,deleteVCard:In,fetchAddressBooks:Nn,fetchVCards:jn,updateVCard:kn});const Un=B("tsdav:calendar"),Bn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:n,timezone:i,depth:o,headers:a,headersToExclude:s}=e;return An({url:t,body:{"calendar-query":un({_attributes:sn([U.CALDAV,U.CALENDAR_SERVER,U.CALDAV_APPLE,U.DAV]),[`${V.DAV}:prop`]:r,filter:n,timezone:i})},defaultNamespace:V.CALDAV,depth:o,headers:ln(a,s)})})),Mn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:n,filters:i,timezone:o,depth:a,headers:s,headersToExclude:u}=e;return An({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:sn([U.DAV,U.CALDAV]),[`${V.DAV}:prop`]:r,[`${V.DAV}:href`]:n},cn("filter",i)),{timezone:o})},defaultNamespace:V.CALDAV,depth:a,headers:ln(s,u)})})),Vn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:n,headers:i,headersToExclude:o}=e;return fn({url:t,init:{method:"MKCALENDAR",headers:ln(un(Object.assign({depth:n},i)),o),namespace:V.DAV,body:{[`${V.CALDAV}:mkcalendar`]:{_attributes:sn([U.DAV,U.CALDAV,U.CALDAV_APPLE]),set:{prop:r}}}}})})),Kn=e=>t(void 0,void 0,void 0,(function*(){const{headers:r,account:n,props:i,projectedProps:o,headersToExclude:a}=null!=e?e:{},s=["homeUrl","rootUrl"];if(!n||!bn(n,s)){if(!n)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${wn(n,s)} before fetchCalendars`)}const u=yield pn({url:n.homeUrl,props:null!=i?i:{[`${V.CALDAV}:calendar-description`]:{},[`${V.CALDAV}:calendar-timezone`]:{},[`${V.DAV}:displayname`]:{},[`${V.CALDAV_APPLE}:calendar-color`]:{},[`${V.CALENDAR_SERVER}:getctag`]:{},[`${V.DAV}:resourcetype`]:{},[`${V.CALDAV}:supported-calendar-component-set`]:{},[`${V.DAV}:sync-token`]:{}},depth:"1",headers:ln(r,a)});return Promise.all(u.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,n;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(n=e.props)||void 0===n?void 0:n.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(K).includes(e)))})).map((e=>{var t,r,i,a,s,u,c,l,d,h,f,p,g,y,v;const m=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,b=null===(r=e.props)||void 0===r?void 0:r.calendarTimezone;return Object.assign({description:"string"==typeof m?m:"",timezone:"string"==typeof b?b:"",url:new URL(null!==(i=e.href)&&void 0!==i?i:"",null!==(a=n.rootUrl)&&void 0!==a?a:"").href,ctag:null===(s=e.props)||void 0===s?void 0:s.getctag,calendarColor:null===(u=e.props)||void 0===u?void 0:u.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(d=e.props)||void 0===d?void 0:d.displayname,components:Array.isArray(null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp)?null===(f=e.props)||void 0===f?void 0:f.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(g=e.props)||void 0===g?void 0:g.resourcetype),syncToken:null===(y=e.props)||void 0===y?void 0:y.syncToken},cn("projectedProps",Object.fromEntries(Object.entries(null!==(v=e.props)&&void 0!==v?v:{}).filter((([e])=>null==o?void 0:o[e])))))})).map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield _n({collection:e,headers:ln(r,a)})})})))))})),$n=e=>t(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:n,timeRange:i,headers:o,expand:a,urlFilter:s=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:u=!0,headersToExclude:c}=e;if(i){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(i.start)&&e.test(i.end)||t.test(i.start)&&t.test(i.end)))throw new Error("invalid timeRange format, not in ISO8601")}Un(`Fetching calendar objects from ${null==t?void 0:t.url}`);const l=["url"];if(!t||!bn(t,l)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${wn(t,l)} before fetchCalendarObjects`)}const d=null!=n?n:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},i?{"time-range":{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],h=(null!=r?r:(yield Bn({url:t.url,props:{[`${V.DAV}:getetag`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:d,depth:"1",headers:ln(o,c)})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(s).map((e=>new URL(e).pathname));let f=[];return h.length>0&&(f=!u||a?yield Bn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CALDAV}:calendar-data`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:d,depth:"1",headers:ln(o,c)}):yield Mn({url:t.url,props:{[`${V.DAV}:getetag`]:{},[`${V.CALDAV}:calendar-data`]:Object.assign({},a&&i?{[`${V.CALDAV}:expand`]:{_attributes:{start:`${new Date(i.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(i.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:h,depth:"1",headers:ln(o,c)})),f.map((e=>{var r,n,i,o,a,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(n=e.props)||void 0===n?void 0:n.getetag}`,data:null!==(a=null===(o=null===(i=e.props)||void 0===i?void 0:i.calendarData)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(s=e.props)||void 0===s?void 0:s.calendarData}}))})),Hn=e=>t(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:n,headers:i,headersToExclude:o}=e;return gn({url:new URL(n,t.url).href,data:r,headers:ln(Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},i),o)})})),Yn=e=>t(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:n}=e;return yn({url:t.url,data:t.data,etag:t.etag,headers:ln(Object.assign({"content-type":"text/calendar; charset=utf-8"},r),n)})})),zn=e=>t(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:n}=e;return vn({url:t.url,etag:t.etag,headers:ln(r,n)})})),qn=e=>t(void 0,void 0,void 0,(function*(){var r;const{oldCalendars:n,account:i,detailedResult:o,headers:a,headersToExclude:s}=e;if(!i)throw new Error("Must have account before syncCalendars");const u=null!==(r=null!=n?n:i.calendars)&&void 0!==r?r:[],c=yield Kn({account:i,headers:ln(a,s)}),l=c.filter((e=>u.every((t=>!an(t.url,e.url)))));Un(`new calendars: ${l.map((e=>e.displayName))}`);const d=u.reduce(((e,t)=>{const r=c.find((e=>an(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);Un(`updated calendars: ${d.map((e=>e.displayName))}`);const h=yield Promise.all(d.map((e=>t(void 0,void 0,void 0,(function*(){return yield xn({collection:Object.assign(Object.assign({},e),{objectMultiGet:Mn}),method:"webdav",headers:ln(a,s),account:i})}))))),f=u.filter((e=>c.every((t=>!an(t.url,e.url)))));Un(`deleted calendars: ${f.map((e=>e.displayName))}`);const p=u.filter((e=>c.some((t=>an(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return o?{created:l,updated:d,deleted:f}:[...p,...l,...h]})),Gn=e=>t(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:n,headers:i,headersToExclude:o}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield An({url:t,body:{"free-busy-query":un({_attributes:sn([U.CALDAV]),[`${V.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:V.CALDAV,depth:n,headers:ln(i,o)}))[0]}));var Wn=Object.freeze({__proto__:null,calendarMultiGet:Mn,calendarQuery:Bn,createCalendarObject:Hn,deleteCalendarObject:zn,fetchCalendarObjects:$n,fetchCalendars:Kn,freeBusyQuery:Gn,makeCalendar:Vn,syncCalendars:qn,updateCalendarObject:Yn});const Qn=B("tsdav:account"),Xn=e=>t(void 0,void 0,void 0,(function*(){var t,r;Qn("Service discovery...");const{account:n,headers:i,headersToExclude:o}=e,s=new URL(n.serverUrl),u=new URL(`/.well-known/${n.accountType}`,s);u.protocol=null!==(t=s.protocol)&&void 0!==t?t:"http";try{const e=yield a.fetch(u.href,{headers:ln(i,o),method:"PROPFIND",redirect:"manual"});if(e.status>=300&&e.status<400){const t=e.headers.get("Location");if("string"==typeof t&&t.length){Qn(`Service discovery redirected to ${t}`);const e=new URL(t,s);return e.hostname===u.hostname&&u.port&&!e.port&&(e.port=u.port),e.protocol=null!==(r=s.protocol)&&void 0!==r?r:"http",e.href}}}catch(e){Qn(`Service discovery failed: ${e.stack}`)}return s.href})),Zn=e=>t(void 0,void 0,void 0,(function*(){var t,r,n,i,o;const{account:a,headers:s,headersToExclude:u}=e,c=["rootUrl"];if(!bn(a,c))throw new Error(`account must have ${wn(a,c)} before fetchPrincipalUrl`);Qn(`Fetching principal url from path ${a.rootUrl}`);const[l]=yield pn({url:a.rootUrl,props:{[`${V.DAV}:current-user-principal`]:{}},depth:"0",headers:ln(s,u)});if(!l.ok&&(Qn(`Fetch principal url failed: ${l.statusText}`),401===l.status))throw new Error("Invalid credentials");return Qn(`Fetched principal url ${null===(r=null===(t=l.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(o=null===(i=null===(n=l.props)||void 0===n?void 0:n.currentUserPrincipal)||void 0===i?void 0:i.href)&&void 0!==o?o:"",a.rootUrl).href})),Jn=e=>t(void 0,void 0,void 0,(function*(){var t,r;const{account:n,headers:i,headersToExclude:o}=e,a=["principalUrl","rootUrl"];if(!bn(n,a))throw new Error(`account must have ${wn(n,a)} before fetchHomeUrl`);Qn(`Fetch home url from ${n.principalUrl}`);const s=(yield pn({url:n.principalUrl,props:"caldav"===n.accountType?{[`${V.CALDAV}:calendar-home-set`]:{}}:{[`${V.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:ln(i,o)})).find((e=>an(n.principalUrl,e.href)));if(!s||!s.ok)throw new Error("cannot find homeUrl");const u=new URL("caldav"===n.accountType?null===(t=null==s?void 0:s.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==s?void 0:s.props)||void 0===r?void 0:r.addressbookHomeSet.href,n.rootUrl).href;return Qn(`Fetched home url ${u}`),u})),ei=e=>t(void 0,void 0,void 0,(function*(){const{account:r,headers:n,loadCollections:i=!1,loadObjects:o=!1,headersToExclude:a}=e,s=Object.assign({},r);return s.rootUrl=yield Xn({account:r,headers:ln(n,a)}),s.principalUrl=yield Zn({account:s,headers:ln(n,a)}),s.homeUrl=yield Jn({account:s,headers:ln(n,a)}),(i||o)&&("caldav"===r.accountType?s.calendars=yield Kn({headers:ln(n,a),account:s}):"carddav"===r.accountType&&(s.addressBooks=yield Nn({headers:ln(n,a),account:s}))),o&&("caldav"===r.accountType&&s.calendars?s.calendars=yield Promise.all(s.calendars.map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield $n({calendar:e,headers:ln(n,a)})})}))))):"carddav"===r.accountType&&s.addressBooks&&(s.addressBooks=yield Promise.all(s.addressBooks.map((e=>t(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield jn({addressBook:e,headers:ln(n,a)})})}))))))),s}));var ti,ri,ni=Object.freeze({__proto__:null,createAccount:ei,fetchHomeUrl:Jn,fetchPrincipalUrl:Zn,serviceDiscovery:Xn}),ii={exports:{}};ti=ii,ri=ii.exports,function(e){var t=ri,n=ti&&ti.exports==t&&ti,i="object"==typeof r&&r;i.global!==i&&i.window!==i||(e=i);var o=function(e){this.message=e};(o.prototype=new Error).name="InvalidCharacterError";var a=function(e){throw new o(e)},s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=/[\t\n\f\r ]/g,c={encode:function(e){e=String(e),/[^\0-\xFF]/.test(e)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var t,r,n,i,o=e.length%3,u="",c=-1,l=e.length-o;++c>18&63)+s.charAt(i>>12&63)+s.charAt(i>>6&63)+s.charAt(63&i);return 2==o?(t=e.charCodeAt(c)<<8,r=e.charCodeAt(++c),u+=s.charAt((i=t+r)>>10)+s.charAt(i>>4&63)+s.charAt(i<<2&63)+"="):1==o&&(i=e.charCodeAt(c),u+=s.charAt(i>>2)+s.charAt(i<<4&63)+"=="),u},decode:function(e){var t=(e=String(e).replace(u,"")).length;t%4==0&&(t=(e=e.replace(/==?$/,"")).length),(t%4==1||/[^+a-zA-Z0-9/]/.test(e))&&a("Invalid character: the string to be decoded is not correctly encoded.");for(var r,n,i=0,o="",c=-1;++c>(-2*i&6)));return o},version:"1.0.0"};if(t&&!t.nodeType)if(n)n.exports=c;else for(var l in c)c.hasOwnProperty(l)&&(t[l]=c[l]);else e.base64=c}(r);var oi=ii.exports;const ai=B("tsdav:authHelper"),si=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),ui=e=>(ai(`Basic auth token generated: ${oi.encode(`${e.username}:${e.password}`)}`),{authorization:`Basic ${oi.encode(`${e.username}:${e.password}`)}`}),ci=e=>t(void 0,void 0,void 0,(function*(){const t=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!bn(e,t))throw new Error(`Oauth credentials missing: ${wn(e,t)}`);const r=new URLSearchParams({grant_type:"authorization_code",code:e.authorizationCode,redirect_uri:e.redirectUrl,client_id:e.clientId,client_secret:e.clientSecret});ai(e.tokenUrl),ai(r.toString());const n=yield a.fetch(e.tokenUrl,{method:"POST",body:r.toString(),headers:{"content-length":`${r.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(n.ok){return yield n.json()}return ai(`Fetch Oauth tokens failed: ${yield n.text()}`),{}})),li=e=>t(void 0,void 0,void 0,(function*(){const t=["refreshToken","clientId","clientSecret","tokenUrl"];if(!bn(e,t))throw new Error(`Oauth credentials missing: ${wn(e,t)}`);const r=new URLSearchParams({client_id:e.clientId,client_secret:e.clientSecret,refresh_token:e.refreshToken,grant_type:"refresh_token"}),n=yield a.fetch(e.tokenUrl,{method:"POST",body:r.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(n.ok){return yield n.json()}return ai(`Refresh access token failed: ${yield n.text()}`),{}})),di=e=>t(void 0,void 0,void 0,(function*(){var t;ai("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield li(e)):r=yield ci(e),ai(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var hi=Object.freeze({__proto__:null,defaultParam:si,fetchOauthTokens:ci,getBasicAuthHeaders:ui,getOauthHeaders:di,refreshAccessToken:li});const fi=r=>t(void 0,void 0,void 0,(function*(){var n;const{serverUrl:i,credentials:o,authMethod:a,defaultAccountType:s,authFunction:u}=r;let c={};switch(a){case"Basic":c=ui(o);break;case"Oauth":c=(yield di(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(n=yield null==u?void 0:u(o))&&void 0!==n?n:{};break;default:throw new Error("Invalid auth method")}const l=s?yield ei({account:{serverUrl:i,credentials:o,accountType:s},headers:c}):void 0,d=si(gn,{url:i,headers:c}),h=si(yn,{headers:c,url:i}),f=si(vn,{headers:c,url:i}),p=si(pn,{headers:c}),g=si(An,{headers:c}),y=si(Tn,{headers:c}),v=si(On,{headers:c}),m=si(_n,{headers:c}),b=si(Cn,{headers:c}),w=si(xn,{headers:c,account:l}),E=si(Bn,{headers:c}),A=si(Mn,{headers:c}),T=si(Vn,{headers:c}),_=si(Kn,{headers:c,account:l}),C=si($n,{headers:c}),O=si(Hn,{headers:c}),x=si(Yn,{headers:c}),D=si(zn,{headers:c}),R=si(qn,{account:l,headers:c}),S=si(Sn,{headers:c}),F=si(Fn,{headers:c});return{davRequest:r=>t(void 0,void 0,void 0,(function*(){const{init:t}=r,n=e(r,["init"]),{headers:i}=t,o=e(t,["headers"]);return fn(Object.assign(Object.assign({},n),{init:Object.assign(Object.assign({},o),{headers:Object.assign(Object.assign({},c),i)})}))})),propfind:p,createAccount:e=>t(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:n,loadObjects:a}=e;return ei({account:Object.assign({serverUrl:i,credentials:o},t),headers:Object.assign(Object.assign({},c),r),loadCollections:n,loadObjects:a})})),createObject:d,updateObject:h,deleteObject:f,calendarQuery:E,addressBookQuery:S,collectionQuery:g,makeCollection:y,calendarMultiGet:A,makeCalendar:T,syncCollection:v,supportedReportSet:m,isCollectionDirty:b,smartCollectionSync:w,fetchCalendars:_,fetchCalendarObjects:C,createCalendarObject:O,updateCalendarObject:x,deleteCalendarObject:D,syncCalendars:R,fetchAddressBooks:si(Nn,{account:l,headers:c}),addressBookMultiGet:F,fetchVCards:si(jn,{headers:c}),createVCard:si(Ln,{headers:c}),updateVCard:si(kn,{headers:c}),deleteVCard:si(In,{headers:c})}}));class pi{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return t(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=ui(this.credentials);break;case"Oauth":this.authHeaders=(yield di(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield ei({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(r){return t(this,void 0,void 0,(function*(){const{init:t}=r,n=e(r,["init"]),{headers:i}=t,o=e(t,["headers"]);return fn(Object.assign(Object.assign({},n),{init:Object.assign(Object.assign({},o),{headers:Object.assign(Object.assign({},this.authHeaders),i)})}))}))}createObject(...e){return t(this,void 0,void 0,(function*(){return si(gn,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return t(this,void 0,void 0,(function*(){return si(yn,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return t(this,void 0,void 0,(function*(){return si(vn,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return t(this,void 0,void 0,(function*(){return si(pn,{headers:this.authHeaders})(e[0])}))}createAccount(e){return t(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:n,loadObjects:i}=e;return ei({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:n,loadObjects:i})}))}collectionQuery(...e){return t(this,void 0,void 0,(function*(){return si(An,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return t(this,void 0,void 0,(function*(){return si(Tn,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return t(this,void 0,void 0,(function*(){return si(On,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return t(this,void 0,void 0,(function*(){return si(_n,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return t(this,void 0,void 0,(function*(){return si(Cn,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return t(this,void 0,void 0,(function*(){return si(xn,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return t(this,void 0,void 0,(function*(){return si(Bn,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return t(this,void 0,void 0,(function*(){return si(Vn,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return t(this,void 0,void 0,(function*(){return si(Mn,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return t(this,void 0,void 0,(function*(){return si(Kn,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return t(this,void 0,void 0,(function*(){return si($n,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return t(this,void 0,void 0,(function*(){return si(Hn,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return t(this,void 0,void 0,(function*(){return si(Yn,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return t(this,void 0,void 0,(function*(){return si(zn,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return t(this,void 0,void 0,(function*(){return si(qn,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return t(this,void 0,void 0,(function*(){return si(Sn,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return t(this,void 0,void 0,(function*(){return si(Fn,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return t(this,void 0,void 0,(function*(){return si(Nn,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return t(this,void 0,void 0,(function*(){return si(jn,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return t(this,void 0,void 0,(function*(){return si(Ln,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return t(this,void 0,void 0,(function*(){return si(kn,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return t(this,void 0,void 0,(function*(){return si(In,{headers:this.authHeaders})(e[0])}))}}var gi=Object.freeze({__proto__:null,DAVClient:pi,createDAVClient:fi}),yi=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:U,DAVNamespaceShort:V,DAVAttributeMap:M},gi),mn),Dn),ni),Pn),Wn),hi),dn);export{M as DAVAttributeMap,pi as DAVClient,U as DAVNamespace,V as DAVNamespaceShort,Sn as addressBookQuery,Mn as calendarMultiGet,Bn as calendarQuery,un as cleanupFalsy,An as collectionQuery,ei as createAccount,Hn as createCalendarObject,fi as createDAVClient,gn as createObject,Ln as createVCard,fn as davRequest,yi as default,zn as deleteCalendarObject,vn as deleteObject,In as deleteVCard,Nn as fetchAddressBooks,$n as fetchCalendarObjects,Kn as fetchCalendars,ci as fetchOauthTokens,jn as fetchVCards,Gn as freeBusyQuery,ui as getBasicAuthHeaders,sn as getDAVAttribute,di as getOauthHeaders,Cn as isCollectionDirty,Vn as makeCalendar,pn as propfind,li as refreshAccessToken,xn as smartCollectionSync,_n as supportedReportSet,qn as syncCalendars,On as syncCollection,Yn as updateCalendarObject,yn as updateObject,kn as updateVCard,an as urlContains,on as urlEquals}; diff --git a/dist/tsdav.min.mjs b/dist/tsdav.min.mjs index cdc47c1..05d27c7 100644 --- a/dist/tsdav.min.mjs +++ b/dist/tsdav.min.mjs @@ -1 +1 @@ -import{fetch as e}from"cross-fetch";import t from"debug";import r from"xml-js";import{encode as o}from"base-64";function a(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},u=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim();if(Math.abs(r.length-o.length)>1)return!1;const a="/"===r.slice(-1)?r.slice(0,-1):r,n="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(n)||t.includes(a)},h=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim(),a="/"===r.slice(-1)?r.slice(0,-1):r,n="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(n)||t.includes(a)},p=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[d[t]]:t})),{}),v=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),f=(e,t)=>t?{[e]:t}:{};var g=Object.freeze({__proto__:null,cleanupFalsy:v,conditionalParam:f,getDAVAttribute:p,urlContains:h,urlEquals:u});const m=t("tsdav:request"),y=t=>n(void 0,void 0,void 0,(function*(){var o;const{url:a,init:n,convertIncoming:s=!0,parseOutgoing:d=!0}=t,{headers:i={},body:c,namespace:u,method:h,attributes:p}=n,f=s?r.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},c),{_attributes:p}),{compact:!0,spaces:2,elementNameFn:e=>u&&!/^.+:.+/.test(e)?`${u}:${e}`:e}):c,g=yield e(a,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},v(i)),body:f,method:h}),y=yield g.text();if(!g.ok||!(null===(o=g.headers.get("content-type"))||void 0===o?void 0:o.includes("xml"))||!d)return[{href:g.url,ok:g.ok,status:g.status,statusText:g.statusText,raw:y}];const b=r.xml2js(y,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,o=Object.keys(r),a=o[o.length-1],n=r[a];if(n.length>0){n[n.length-1]=l(e)}else r[a]=l(e)}catch(e){m(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(b.multistatus.response)?b.multistatus.response:[b.multistatus.response]).map((e=>{var t,r;if(!e)return{status:g.status,statusText:g.statusText,ok:g.ok};const o=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:b,href:e.href,status:(null==o?void 0:o.groups)?Number.parseInt(null==o?void 0:o.groups.status,10):g.status,statusText:null!==(r=null===(t=null==o?void 0:o.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:g.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),b=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return y({url:t,init:{method:"PROPFIND",headers:v(Object.assign({depth:o},a)),namespace:i.DAV,body:{propfind:{_attributes:p([s.CALDAV,s.CALDAV_APPLE,s.CALENDAR_SERVER,s.CARDDAV,s.DAV]),prop:r}}}})})),A=t=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,headers:a}=t;return e(r,{method:"PUT",body:o,headers:a})})),O=t=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,etag:a,headers:n}=t;return e(r,{method:"PUT",body:o,headers:v(Object.assign({"If-Match":a},n))})})),D=t=>n(void 0,void 0,void 0,(function*(){const{url:r,headers:o,etag:a}=t;return e(r,{method:"DELETE",headers:v(Object.assign({"If-Match":a},o))})}));var j=Object.freeze({__proto__:null,createObject:A,davRequest:y,deleteObject:D,propfind:b,updateObject:O});function C(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const V=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),$=t("tsdav:collection"),w=e=>n(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:o,defaultNamespace:a=i.DAV,headers:n}=e,s=yield y({url:t,init:{method:"REPORT",headers:v(Object.assign({depth:o},n)),namespace:a,body:r}});return 1!==s.length||s[0].raw?s:[]})),k=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return y({url:t,init:{method:"MKCOL",headers:v(Object.assign({depth:o},a)),namespace:i.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),_=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n;const{collection:s,headers:d}=e;return null!==(n=null===(a=null===(o=null===(r=null===(t=(yield b({url:s.url,props:{[`${i.DAV}:supported-report-set`]:{}},depth:"0",headers:d}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===o?void 0:o.supportedReport)||void 0===a?void 0:a.map((e=>Object.keys(e.report)[0])))&&void 0!==n?n:[]})),R=e=>n(void 0,void 0,void 0,(function*(){var t,r,o;const{collection:a,headers:n}=e,s=(yield b({url:a.url,props:{[`${i.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:n})).filter((e=>h(a.url,e.href)))[0];if(!s)throw new Error("Collection does not exist on server");return{isDirty:a.ctag!==(null===(t=s.props)||void 0===t?void 0:t.getctag),newCtag:null===(o=null===(r=s.props)||void 0===r?void 0:r.getctag)||void 0===o?void 0:o.toString()}})),U=e=>{const{url:t,props:r,headers:o,syncLevel:a,syncToken:n}=e;return y({url:t,init:{method:"REPORT",namespace:i.DAV,headers:Object.assign({},o),body:{"sync-collection":{_attributes:p([s.CALDAV,s.CARDDAV,s.DAV]),"sync-level":a,"sync-token":n,[`${i.DAV}:prop`]:r}}}})},E=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n,s,d,c,l,u,p;const{collection:v,method:f,headers:g,account:m,detailedResult:y}=e,b=["accountType","homeUrl"];if(!m||!C(m,b)){if(!m)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${V(m,b)} before smartCollectionSync`)}const A=null!=f?f:(null===(t=v.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if($(`smart collection sync with type ${m.accountType} and method ${A}`),"webdav"===A){const e=yield U({url:v.url,props:{[`${i.DAV}:getetag`]:{},[`${"caldav"===m.accountType?i.CALDAV:i.CARDDAV}:${"caldav"===m.accountType?"calendar-data":"address-data"}`]:{},[`${i.DAV}:displayname`]:{}},syncLevel:1,syncToken:v.syncToken,headers:g}),t=e.filter((e=>{var t;const r="caldav"===m.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),l=t.filter((e=>404!==e.status)).map((e=>e.href)),u=t.filter((e=>404===e.status)).map((e=>e.href)),p=(l.length&&null!==(o=yield null===(r=null==v?void 0:v.objectMultiGet)||void 0===r?void 0:r.call(v,{url:v.url,props:{[`${i.DAV}:getetag`]:{},[`${"caldav"===m.accountType?i.CALDAV:i.CARDDAV}:${"caldav"===m.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:l,depth:"1",headers:g}))&&void 0!==o?o:[]).map((e=>{var t,r,o,a,n,s,d,i,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==m?void 0:m.accountType)?null!==(n=null===(a=null===(o=e.props)||void 0===o?void 0:o.calendarData)||void 0===a?void 0:a._cdata)&&void 0!==n?n:null===(s=e.props)||void 0===s?void 0:s.calendarData:null!==(c=null===(i=null===(d=e.props)||void 0===d?void 0:d.addressData)||void 0===i?void 0:i._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),f=null!==(a=v.objects)&&void 0!==a?a:[],b=p.filter((e=>f.every((t=>!h(t.url,e.url))))),A=f.reduce(((e,t)=>{const r=p.find((e=>h(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),O=u.map((e=>({url:e,etag:""}))),D=f.filter((e=>p.some((t=>h(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},v),{objects:y?{created:b,updated:A,deleted:O}:[...D,...b,...A],syncToken:null!==(c=null===(d=null===(s=null===(n=e[0])||void 0===n?void 0:n.raw)||void 0===s?void 0:s.multistatus)||void 0===d?void 0:d.syncToken)&&void 0!==c?c:v.syncToken})}if("basic"===A){const{isDirty:e,newCtag:t}=yield R({collection:v,headers:g}),r=null!==(l=v.objects)&&void 0!==l?l:[],o=null!==(p=yield null===(u=v.fetchObjects)||void 0===u?void 0:u.call(v,{collection:v,headers:g}))&&void 0!==p?p:[],a=o.filter((e=>r.every((t=>!h(t.url,e.url))))),n=r.reduce(((e,t)=>{const r=o.find((e=>h(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),s=r.filter((e=>o.every((t=>!h(t.url,e.url))))),d=r.filter((e=>o.some((t=>h(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},v),{objects:y?{created:a,updated:n,deleted:s}:[...d,...a,...n],ctag:t})}return y?Object.assign(Object.assign({},v),{objects:{created:[],updated:[],deleted:[]}}):v}));var S=Object.freeze({__proto__:null,collectionQuery:w,isCollectionDirty:R,makeCollection:k,smartCollectionSync:E,supportedReportSet:_,syncCollection:U});const L=t("tsdav:addressBook"),T=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,depth:a,headers:n}=e;return w({url:t,body:{"addressbook-query":{_attributes:p([s.CARDDAV,s.DAV]),[`${i.DAV}:prop`]:r,filter:null!=o?o:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:i.CARDDAV,depth:a,headers:n})})),x=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,depth:a,headers:n}=e;return w({url:t,body:{"addressbook-multiget":{_attributes:p([s.DAV,s.CARDDAV]),[`${i.DAV}:prop`]:r,[`${i.DAV}:href`]:o}},defaultNamespace:i.CARDDAV,depth:a,headers:n})})),N=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,props:o}=null!=e?e:{},a=["homeUrl","rootUrl"];if(!t||!C(t,a)){if(!t)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${V(t,a)} before fetchAddressBooks`)}const s=yield b({url:t.homeUrl,props:null!=o?o:{[`${i.DAV}:displayname`]:{},[`${i.CALENDAR_SERVER}:getctag`]:{},[`${i.DAV}:resourcetype`]:{},[`${i.DAV}:sync-token`]:{}},depth:"1",headers:r});return Promise.all(s.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var r,o,a,n,s,d,i,c,l;const u=null!==(a=null===(o=null===(r=e.props)||void 0===r?void 0:r.displayname)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(n=e.props)||void 0===n?void 0:n.displayname;return L(`Found address book named ${"string"==typeof u?u:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(s=e.href)&&void 0!==s?s:"",null!==(d=t.rootUrl)&&void 0!==d?d:"").href,ctag:null===(i=e.props)||void 0===i?void 0:i.getctag,displayName:"string"==typeof u?u:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield _({collection:e,headers:r})})})))))})),P=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:o,urlFilter:a=(e=>e),useMultiGet:n=!0}=e;L(`Fetching vcards from ${null==t?void 0:t.url}`);const s=["url"];if(!t||!C(t,s)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${V(t,s)} before fetchVCards`)}const d=(null!=o?o:(yield T({url:t.url,props:{[`${i.DAV}:getetag`]:{}},depth:"1",headers:r})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(a).map((e=>new URL(e).pathname));let c=[];return d.length>0&&(c=n?yield x({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CARDDAV}:address-data`]:{}},objectUrls:d,depth:"1",headers:r}):yield T({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CARDDAV}:address-data`]:{}},depth:"1",headers:r})),c.map((e=>{var r,o,a,n,s,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(o=e.props)||void 0===o?void 0:o.getetag,data:null!==(s=null===(n=null===(a=e.props)||void 0===a?void 0:a.addressData)||void 0===n?void 0:n._cdata)&&void 0!==s?s:null===(d=e.props)||void 0===d?void 0:d.addressData}}))})),H=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:o,headers:a}=e;return A({url:new URL(o,t.url).href,data:r,headers:Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},a)})})),B=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return O({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/vcard; charset=utf-8"},r)})})),I=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r}=e;return D({url:t.url,etag:t.etag,headers:r})}));var M=Object.freeze({__proto__:null,addressBookMultiGet:x,addressBookQuery:T,createVCard:H,deleteVCard:I,fetchAddressBooks:N,fetchVCards:P,updateVCard:B});const F=t("tsdav:calendar"),z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,timezone:a,depth:n,headers:d}=e;return w({url:t,body:{"calendar-query":v({_attributes:p([s.CALDAV,s.CALENDAR_SERVER,s.CALDAV_APPLE,s.DAV]),[`${i.DAV}:prop`]:r,filter:o,timezone:a})},defaultNamespace:i.CALDAV,depth:n,headers:d})})),Z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,filters:a,timezone:n,depth:d,headers:c}=e;return w({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:p([s.DAV,s.CALDAV]),[`${i.DAV}:prop`]:r,[`${i.DAV}:href`]:o},f("filter",a)),{timezone:n})},defaultNamespace:i.CALDAV,depth:d,headers:c})})),G=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a}=e;return y({url:t,init:{method:"MKCALENDAR",headers:v(Object.assign({depth:o},a)),namespace:i.DAV,body:{[`${i.CALDAV}:mkcalendar`]:{_attributes:p([s.DAV,s.CALDAV,s.CALDAV_APPLE]),set:{prop:r}}}}})})),Q=e=>n(void 0,void 0,void 0,(function*(){const{headers:t,account:r,props:o,projectedProps:a}=null!=e?e:{},s=["homeUrl","rootUrl"];if(!r||!C(r,s)){if(!r)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${V(r,s)} before fetchCalendars`)}const d=yield b({url:r.homeUrl,props:null!=o?o:{[`${i.CALDAV}:calendar-description`]:{},[`${i.CALDAV}:calendar-timezone`]:{},[`${i.DAV}:displayname`]:{},[`${i.CALDAV_APPLE}:calendar-color`]:{},[`${i.CALENDAR_SERVER}:getctag`]:{},[`${i.DAV}:resourcetype`]:{},[`${i.CALDAV}:supported-calendar-component-set`]:{},[`${i.DAV}:sync-token`]:{}},depth:"1",headers:t});return Promise.all(d.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,o;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(o=e.props)||void 0===o?void 0:o.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(c).includes(e)))})).map((e=>{var t,o,n,s,d,i,c,l,u,h,p,v,g,m,y;const b=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,A=null===(o=e.props)||void 0===o?void 0:o.calendarTimezone;return Object.assign({description:"string"==typeof b?b:"",timezone:"string"==typeof A?A:"",url:new URL(null!==(n=e.href)&&void 0!==n?n:"",null!==(s=r.rootUrl)&&void 0!==s?s:"").href,ctag:null===(d=e.props)||void 0===d?void 0:d.getctag,calendarColor:null===(i=e.props)||void 0===i?void 0:i.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(u=e.props)||void 0===u?void 0:u.displayname,components:Array.isArray(null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp)?null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(v=e.props)||void 0===v?void 0:v.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(g=e.props)||void 0===g?void 0:g.resourcetype),syncToken:null===(m=e.props)||void 0===m?void 0:m.syncToken},f("projectedProps",Object.fromEntries(Object.entries(null!==(y=e.props)&&void 0!==y?y:{}).filter((([e])=>null==a?void 0:a[e])))))})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield _({collection:e,headers:t})})})))))})),q=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:o,timeRange:a,headers:n,expand:s,urlFilter:d=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:c=!0}=e;if(a){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(a.start)&&e.test(a.end)||t.test(a.start)&&t.test(a.end)))throw new Error("invalid timeRange format, not in ISO8601")}F(`Fetching calendar objects from ${null==t?void 0:t.url}`);const l=["url"];if(!t||!C(t,l)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${V(t,l)} before fetchCalendarObjects`)}const u=null!=o?o:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},a?{"time-range":{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],h=(null!=r?r:(yield z({url:t.url,props:{[`${i.DAV}:getetag`]:Object.assign({},s&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:u,depth:"1",headers:n})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(d).map((e=>new URL(e).pathname));let p=[];return h.length>0&&(p=!c||s?yield z({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CALDAV}:calendar-data`]:Object.assign({},s&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:u,depth:"1",headers:n}):yield Z({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CALDAV}:calendar-data`]:Object.assign({},s&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:h,depth:"1",headers:n})),p.map((e=>{var r,o,a,n,s,d;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(o=e.props)||void 0===o?void 0:o.getetag}`,data:null!==(s=null===(n=null===(a=e.props)||void 0===a?void 0:a.calendarData)||void 0===n?void 0:n._cdata)&&void 0!==s?s:null===(d=e.props)||void 0===d?void 0:d.calendarData}}))})),J=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:o,headers:a}=e;return A({url:new URL(o,t.url).href,data:r,headers:Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},a)})})),K=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return O({url:t.url,data:t.data,etag:t.etag,headers:Object.assign({"content-type":"text/calendar; charset=utf-8"},r)})})),W=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r}=e;return D({url:t.url,etag:t.etag,headers:r})})),Y=e=>n(void 0,void 0,void 0,(function*(){var t;const{oldCalendars:r,account:o,detailedResult:a,headers:s}=e;if(!o)throw new Error("Must have account before syncCalendars");const d=null!==(t=null!=r?r:o.calendars)&&void 0!==t?t:[],i=yield Q({account:o,headers:s}),c=i.filter((e=>d.every((t=>!h(t.url,e.url)))));F(`new calendars: ${c.map((e=>e.displayName))}`);const l=d.reduce(((e,t)=>{const r=i.find((e=>h(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);F(`updated calendars: ${l.map((e=>e.displayName))}`);const u=yield Promise.all(l.map((e=>n(void 0,void 0,void 0,(function*(){return yield E({collection:Object.assign(Object.assign({},e),{objectMultiGet:Z}),method:"webdav",headers:s,account:o})}))))),p=d.filter((e=>i.every((t=>!h(t.url,e.url)))));F(`deleted calendars: ${p.map((e=>e.displayName))}`);const v=d.filter((e=>i.some((t=>h(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return a?{created:c,updated:l,deleted:p}:[...v,...c,...u]})),X=e=>n(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:o,headers:a}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield w({url:t,body:{"free-busy-query":v({_attributes:p([s.CALDAV]),[`${i.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:i.CALDAV,depth:o,headers:a}))[0]}));var ee=Object.freeze({__proto__:null,calendarMultiGet:Z,calendarQuery:z,createCalendarObject:J,deleteCalendarObject:W,fetchCalendarObjects:q,fetchCalendars:Q,freeBusyQuery:X,makeCalendar:G,syncCalendars:Y,updateCalendarObject:K});const te=t("tsdav:account"),re=t=>n(void 0,void 0,void 0,(function*(){var r,o;te("Service discovery...");const{account:a,headers:n}=t,s=new URL(a.serverUrl),d=new URL(`/.well-known/${a.accountType}`,s);d.protocol=null!==(r=s.protocol)&&void 0!==r?r:"http";try{const t=yield e(d.href,{headers:n,method:"PROPFIND",redirect:"manual"});if(t.status>=300&&t.status<400){const e=t.headers.get("Location");if("string"==typeof e&&e.length){te(`Service discovery redirected to ${e}`);const t=new URL(e,s);return t.hostname===d.hostname&&d.port&&!t.port&&(t.port=d.port),t.protocol=null!==(o=s.protocol)&&void 0!==o?o:"http",t.href}}}catch(e){te(`Service discovery failed: ${e.stack}`)}return s.href})),oe=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n;const{account:s,headers:d}=e,c=["rootUrl"];if(!C(s,c))throw new Error(`account must have ${V(s,c)} before fetchPrincipalUrl`);te(`Fetching principal url from path ${s.rootUrl}`);const[l]=yield b({url:s.rootUrl,props:{[`${i.DAV}:current-user-principal`]:{}},depth:"0",headers:d});if(!l.ok&&(te(`Fetch principal url failed: ${l.statusText}`),401===l.status))throw new Error("Invalid credentials");return te(`Fetched principal url ${null===(r=null===(t=l.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(n=null===(a=null===(o=l.props)||void 0===o?void 0:o.currentUserPrincipal)||void 0===a?void 0:a.href)&&void 0!==n?n:"",s.rootUrl).href})),ae=e=>n(void 0,void 0,void 0,(function*(){var t,r;const{account:o,headers:a}=e,n=["principalUrl","rootUrl"];if(!C(o,n))throw new Error(`account must have ${V(o,n)} before fetchHomeUrl`);te(`Fetch home url from ${o.principalUrl}`);const s=(yield b({url:o.principalUrl,props:"caldav"===o.accountType?{[`${i.CALDAV}:calendar-home-set`]:{}}:{[`${i.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:a})).find((e=>h(o.principalUrl,e.href)));if(!s||!s.ok)throw new Error("cannot find homeUrl");const d=new URL("caldav"===o.accountType?null===(t=null==s?void 0:s.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==s?void 0:s.props)||void 0===r?void 0:r.addressbookHomeSet.href,o.rootUrl).href;return te(`Fetched home url ${d}`),d})),ne=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o=!1,loadObjects:a=!1}=e,s=Object.assign({},t);return s.rootUrl=yield re({account:t,headers:r}),s.principalUrl=yield oe({account:s,headers:r}),s.homeUrl=yield ae({account:s,headers:r}),(o||a)&&("caldav"===t.accountType?s.calendars=yield Q({headers:r,account:s}):"carddav"===t.accountType&&(s.addressBooks=yield N({headers:r,account:s}))),a&&("caldav"===t.accountType&&s.calendars?s.calendars=yield Promise.all(s.calendars.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield q({calendar:e,headers:r})})}))))):"carddav"===t.accountType&&s.addressBooks&&(s.addressBooks=yield Promise.all(s.addressBooks.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield P({addressBook:e,headers:r})})}))))))),s}));var se=Object.freeze({__proto__:null,createAccount:ne,fetchHomeUrl:ae,fetchPrincipalUrl:oe,serviceDiscovery:re});const de=t("tsdav:authHelper"),ie=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),ce=e=>(de(`Basic auth token generated: ${o(`${e.username}:${e.password}`)}`),{authorization:`Basic ${o(`${e.username}:${e.password}`)}`}),le=t=>n(void 0,void 0,void 0,(function*(){const r=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!C(t,r))throw new Error(`Oauth credentials missing: ${V(t,r)}`);const o=new URLSearchParams({grant_type:"authorization_code",code:t.authorizationCode,redirect_uri:t.redirectUrl,client_id:t.clientId,client_secret:t.clientSecret});de(t.tokenUrl),de(o.toString());const a=yield e(t.tokenUrl,{method:"POST",body:o.toString(),headers:{"content-length":`${o.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return de(`Fetch Oauth tokens failed: ${yield a.text()}`),{}})),ue=t=>n(void 0,void 0,void 0,(function*(){const r=["refreshToken","clientId","clientSecret","tokenUrl"];if(!C(t,r))throw new Error(`Oauth credentials missing: ${V(t,r)}`);const o=new URLSearchParams({client_id:t.clientId,client_secret:t.clientSecret,refresh_token:t.refreshToken,grant_type:"refresh_token"}),a=yield e(t.tokenUrl,{method:"POST",body:o.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return de(`Refresh access token failed: ${yield a.text()}`),{}})),he=e=>n(void 0,void 0,void 0,(function*(){var t;de("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield ue(e)):r=yield le(e),de(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var pe=Object.freeze({__proto__:null,defaultParam:ie,fetchOauthTokens:le,getBasicAuthHeaders:ce,getOauthHeaders:he,refreshAccessToken:ue});const ve=e=>n(void 0,void 0,void 0,(function*(){var t;const{serverUrl:r,credentials:o,authMethod:s,defaultAccountType:d,authFunction:i}=e;let c={};switch(s){case"Basic":c=ce(o);break;case"Oauth":c=(yield he(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(t=yield null==i?void 0:i(o))&&void 0!==t?t:{};break;default:throw new Error("Invalid auth method")}const l=d?yield ne({account:{serverUrl:r,credentials:o,accountType:d},headers:c}):void 0,u=ie(A,{url:r,headers:c}),h=ie(O,{headers:c,url:r}),p=ie(D,{headers:c,url:r}),v=ie(b,{headers:c}),f=ie(w,{headers:c}),g=ie(k,{headers:c}),m=ie(U,{headers:c}),j=ie(_,{headers:c}),C=ie(R,{headers:c}),V=ie(E,{headers:c,account:l}),$=ie(z,{headers:c}),S=ie(Z,{headers:c}),L=ie(G,{headers:c}),M=ie(Q,{headers:c,account:l}),F=ie(q,{headers:c}),X=ie(J,{headers:c}),ee=ie(K,{headers:c}),te=ie(W,{headers:c}),re=ie(Y,{account:l,headers:c}),oe=ie(T,{headers:c}),ae=ie(x,{headers:c});return{davRequest:e=>n(void 0,void 0,void 0,(function*(){const{init:t}=e,r=a(e,["init"]),{headers:o}=t,n=a(t,["headers"]);return y(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},n),{headers:Object.assign(Object.assign({},c),o)})}))})),propfind:v,createAccount:e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:a,loadCollections:n,loadObjects:s}=e;return ne({account:Object.assign({serverUrl:r,credentials:o},t),headers:Object.assign(Object.assign({},c),a),loadCollections:n,loadObjects:s})})),createObject:u,updateObject:h,deleteObject:p,calendarQuery:$,addressBookQuery:oe,collectionQuery:f,makeCollection:g,calendarMultiGet:S,makeCalendar:L,syncCollection:m,supportedReportSet:j,isCollectionDirty:C,smartCollectionSync:V,fetchCalendars:M,fetchCalendarObjects:F,createCalendarObject:X,updateCalendarObject:ee,deleteCalendarObject:te,syncCalendars:re,fetchAddressBooks:ie(N,{account:l,headers:c}),addressBookMultiGet:ae,fetchVCards:ie(P,{headers:c}),createVCard:ie(H,{headers:c}),updateVCard:ie(B,{headers:c}),deleteVCard:ie(I,{headers:c})}}));class fe{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return n(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=ce(this.credentials);break;case"Oauth":this.authHeaders=(yield he(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield ne({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(e){return n(this,void 0,void 0,(function*(){const{init:t}=e,r=a(e,["init"]),{headers:o}=t,n=a(t,["headers"]);return y(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},n),{headers:Object.assign(Object.assign({},this.authHeaders),o)})}))}))}createObject(...e){return n(this,void 0,void 0,(function*(){return ie(A,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return n(this,void 0,void 0,(function*(){return ie(O,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return n(this,void 0,void 0,(function*(){return ie(D,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return n(this,void 0,void 0,(function*(){return ie(b,{headers:this.authHeaders})(e[0])}))}createAccount(e){return n(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o,loadObjects:a}=e;return ne({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:o,loadObjects:a})}))}collectionQuery(...e){return n(this,void 0,void 0,(function*(){return ie(w,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return n(this,void 0,void 0,(function*(){return ie(k,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return n(this,void 0,void 0,(function*(){return ie(U,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return n(this,void 0,void 0,(function*(){return ie(_,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return n(this,void 0,void 0,(function*(){return ie(R,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return n(this,void 0,void 0,(function*(){return ie(E,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return n(this,void 0,void 0,(function*(){return ie(z,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return n(this,void 0,void 0,(function*(){return ie(G,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return n(this,void 0,void 0,(function*(){return ie(Z,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return n(this,void 0,void 0,(function*(){return ie(Q,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return n(this,void 0,void 0,(function*(){return ie(q,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(J,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(K,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ie(W,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return n(this,void 0,void 0,(function*(){return ie(Y,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return n(this,void 0,void 0,(function*(){return ie(T,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return n(this,void 0,void 0,(function*(){return ie(x,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return n(this,void 0,void 0,(function*(){return ie(N,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return n(this,void 0,void 0,(function*(){return ie(P,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return n(this,void 0,void 0,(function*(){return ie(H,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return n(this,void 0,void 0,(function*(){return ie(B,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return n(this,void 0,void 0,(function*(){return ie(I,{headers:this.authHeaders})(e[0])}))}}var ge=Object.freeze({__proto__:null,DAVClient:fe,createDAVClient:ve}),me=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:s,DAVNamespaceShort:i,DAVAttributeMap:d},ge),j),S),se),M),ee),pe),g);export{d as DAVAttributeMap,fe as DAVClient,s as DAVNamespace,i as DAVNamespaceShort,T as addressBookQuery,Z as calendarMultiGet,z as calendarQuery,v as cleanupFalsy,w as collectionQuery,ne as createAccount,J as createCalendarObject,ve as createDAVClient,A as createObject,H as createVCard,y as davRequest,me as default,W as deleteCalendarObject,D as deleteObject,I as deleteVCard,N as fetchAddressBooks,q as fetchCalendarObjects,Q as fetchCalendars,le as fetchOauthTokens,P as fetchVCards,X as freeBusyQuery,ce as getBasicAuthHeaders,p as getDAVAttribute,he as getOauthHeaders,R as isCollectionDirty,G as makeCalendar,b as propfind,ue as refreshAccessToken,E as smartCollectionSync,_ as supportedReportSet,Y as syncCalendars,U as syncCollection,K as updateCalendarObject,O as updateObject,B as updateVCard,h as urlContains,u as urlEquals}; +import{fetch as e}from"cross-fetch";import t from"debug";import r from"xml-js";import{encode as o}from"base-64";function a(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a{const t=Number(e);if(!Number.isNaN(t))return t;const r=e.toLowerCase();return"true"===r||"false"!==r&&e},u=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim();if(Math.abs(r.length-o.length)>1)return!1;const a="/"===r.slice(-1)?r.slice(0,-1):r,n="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(n)||t.includes(a)},h=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;const r=e.trim(),o=t.trim(),a="/"===r.slice(-1)?r.slice(0,-1):r,n="/"===o.slice(-1)?o.slice(0,-1):o;return e.includes(n)||t.includes(a)},p=e=>e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[s[t]]:t})),{}),v=e=>Object.entries(e).reduce(((e,[t,r])=>r?Object.assign(Object.assign({},e),{[t]:r}):e),{}),f=(e,t)=>t?{[e]:t}:{},g=(e,t)=>e?t&&0!==t.length?Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e)))):e:{};var m=Object.freeze({__proto__:null,cleanupFalsy:v,conditionalParam:f,excludeHeaders:g,getDAVAttribute:p,urlContains:h,urlEquals:u});const b=t("tsdav:request"),y=t=>n(void 0,void 0,void 0,(function*(){var o;const{url:a,init:n,convertIncoming:d=!0,parseOutgoing:s=!0}=t,{headers:i={},body:c,namespace:u,method:h,attributes:p}=n,f=d?r.js2xml(Object.assign(Object.assign({_declaration:{_attributes:{version:"1.0",encoding:"utf-8"}}},c),{_attributes:p}),{compact:!0,spaces:2,elementNameFn:e=>u&&!/^.+:.+/.test(e)?`${u}:${e}`:e}):c,g=yield e(a,{headers:Object.assign({"Content-Type":"text/xml;charset=UTF-8"},v(i)),body:f,method:h}),m=yield g.text();if(!g.ok||!(null===(o=g.headers.get("content-type"))||void 0===o?void 0:o.includes("xml"))||!s)return[{href:g.url,ok:g.ok,status:g.status,statusText:g.statusText,raw:m}];const y=r.xml2js(m,{compact:!0,trim:!0,textFn:(e,t)=>{try{const r=t._parent,o=Object.keys(r),a=o[o.length-1],n=r[a];if(n.length>0){n[n.length-1]=l(e)}else r[a]=l(e)}catch(e){b(e.stack)}},elementNameFn:e=>e.replace(/^.+:/,"").replace(/([-_]\w)/g,(e=>e[1].toUpperCase())),attributesFn:e=>{const t=Object.assign({},e);return delete t.xmlns,t},ignoreDeclaration:!0});return(Array.isArray(y.multistatus.response)?y.multistatus.response:[y.multistatus.response]).map((e=>{var t,r;if(!e)return{status:g.status,statusText:g.statusText,ok:g.ok};const o=/^\S+\s(?\d+)\s(?.+)$/.exec(e.status);return{raw:y,href:e.href,status:(null==o?void 0:o.groups)?Number.parseInt(null==o?void 0:o.groups.status,10):g.status,statusText:null!==(r=null===(t=null==o?void 0:o.groups)||void 0===t?void 0:t.statusText)&&void 0!==r?r:g.statusText,ok:!e.error,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce(((e,t)=>Object.assign(Object.assign({},e),null==t?void 0:t.prop)),{})}}))})),A=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:n}=e;return y({url:t,init:{method:"PROPFIND",headers:g(v(Object.assign({depth:o},a)),n),namespace:i.DAV,body:{propfind:{_attributes:p([d.CALDAV,d.CALDAV_APPLE,d.CALENDAR_SERVER,d.CARDDAV,d.DAV]),prop:r}}}})})),O=t=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,headers:a,headersToExclude:n}=t;return e(r,{method:"PUT",body:o,headers:g(a,n)})})),j=t=>n(void 0,void 0,void 0,(function*(){const{url:r,data:o,etag:a,headers:n,headersToExclude:d}=t;return e(r,{method:"PUT",body:o,headers:g(v(Object.assign({"If-Match":a},n)),d)})})),D=t=>n(void 0,void 0,void 0,(function*(){const{url:r,headers:o,etag:a,headersToExclude:n}=t;return e(r,{method:"DELETE",headers:g(v(Object.assign({"If-Match":a},o)),n)})}));var C=Object.freeze({__proto__:null,createObject:O,davRequest:y,deleteObject:D,propfind:A,updateObject:j});function V(e,t){const r=e=>t.every((t=>e[t]));return Array.isArray(e)?e.every((e=>r(e))):r(e)}const E=(e,t)=>t.reduce(((t,r)=>e[r]?t:`${t.length?`${t},`:""}${r.toString()}`),""),T=t("tsdav:collection"),$=e=>n(void 0,void 0,void 0,(function*(){const{url:t,body:r,depth:o,defaultNamespace:a=i.DAV,headers:n,headersToExclude:d}=e,s=yield y({url:t,init:{method:"REPORT",headers:g(v(Object.assign({depth:o},n)),d),namespace:a,body:r}});return 1!==s.length||s[0].raw?s:[]})),w=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:n}=e;return y({url:t,init:{method:"MKCOL",headers:g(v(Object.assign({depth:o},a)),n),namespace:i.DAV,body:r?{mkcol:{set:{prop:r}}}:void 0}})})),k=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n;const{collection:d,headers:s,headersToExclude:c}=e;return null!==(n=null===(a=null===(o=null===(r=null===(t=(yield A({url:d.url,props:{[`${i.DAV}:supported-report-set`]:{}},depth:"0",headers:g(s,c)}))[0])||void 0===t?void 0:t.props)||void 0===r?void 0:r.supportedReportSet)||void 0===o?void 0:o.supportedReport)||void 0===a?void 0:a.map((e=>Object.keys(e.report)[0])))&&void 0!==n?n:[]})),_=e=>n(void 0,void 0,void 0,(function*(){var t,r,o;const{collection:a,headers:n,headersToExclude:d}=e,s=(yield A({url:a.url,props:{[`${i.CALENDAR_SERVER}:getctag`]:{}},depth:"0",headers:g(n,d)})).filter((e=>h(a.url,e.href)))[0];if(!s)throw new Error("Collection does not exist on server");return{isDirty:a.ctag!==(null===(t=s.props)||void 0===t?void 0:t.getctag),newCtag:null===(o=null===(r=s.props)||void 0===r?void 0:r.getctag)||void 0===o?void 0:o.toString()}})),R=e=>{const{url:t,props:r,headers:o,syncLevel:a,syncToken:n,headersToExclude:s}=e;return y({url:t,init:{method:"REPORT",namespace:i.DAV,headers:g(Object.assign({},o),s),body:{"sync-collection":{_attributes:p([d.CALDAV,d.CARDDAV,d.DAV]),"sync-level":a,"sync-token":n,[`${i.DAV}:prop`]:r}}}})},U=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n,d,s,c,l,u,p;const{collection:v,method:f,headers:m,headersToExclude:b,account:y,detailedResult:A}=e,O=["accountType","homeUrl"];if(!y||!V(y,O)){if(!y)throw new Error("no account for smartCollectionSync");throw new Error(`account must have ${E(y,O)} before smartCollectionSync`)}const j=null!=f?f:(null===(t=v.reports)||void 0===t?void 0:t.includes("syncCollection"))?"webdav":"basic";if(T(`smart collection sync with type ${y.accountType} and method ${j}`),"webdav"===j){const e=yield R({url:v.url,props:{[`${i.DAV}:getetag`]:{},[`${"caldav"===y.accountType?i.CALDAV:i.CARDDAV}:${"caldav"===y.accountType?"calendar-data":"address-data"}`]:{},[`${i.DAV}:displayname`]:{}},syncLevel:1,syncToken:v.syncToken,headers:g(m,b)}),t=e.filter((e=>{var t;const r="caldav"===y.accountType?".ics":".vcf";return(null===(t=e.href)||void 0===t?void 0:t.slice(-4))===r})),l=t.filter((e=>404!==e.status)).map((e=>e.href)),u=t.filter((e=>404===e.status)).map((e=>e.href)),p=(l.length&&null!==(o=yield null===(r=null==v?void 0:v.objectMultiGet)||void 0===r?void 0:r.call(v,{url:v.url,props:{[`${i.DAV}:getetag`]:{},[`${"caldav"===y.accountType?i.CALDAV:i.CARDDAV}:${"caldav"===y.accountType?"calendar-data":"address-data"}`]:{}},objectUrls:l,depth:"1",headers:g(m,b)}))&&void 0!==o?o:[]).map((e=>{var t,r,o,a,n,d,s,i,c,l;return{url:null!==(t=e.href)&&void 0!==t?t:"",etag:null===(r=e.props)||void 0===r?void 0:r.getetag,data:"caldav"===(null==y?void 0:y.accountType)?null!==(n=null===(a=null===(o=e.props)||void 0===o?void 0:o.calendarData)||void 0===a?void 0:a._cdata)&&void 0!==n?n:null===(d=e.props)||void 0===d?void 0:d.calendarData:null!==(c=null===(i=null===(s=e.props)||void 0===s?void 0:s.addressData)||void 0===i?void 0:i._cdata)&&void 0!==c?c:null===(l=e.props)||void 0===l?void 0:l.addressData}})),f=null!==(a=v.objects)&&void 0!==a?a:[],O=p.filter((e=>f.every((t=>!h(t.url,e.url))))),j=f.reduce(((e,t)=>{const r=p.find((e=>h(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),D=u.map((e=>({url:e,etag:""}))),C=f.filter((e=>p.some((t=>h(e.url,t.url)&&t.etag===e.etag))));return Object.assign(Object.assign({},v),{objects:A?{created:O,updated:j,deleted:D}:[...C,...O,...j],syncToken:null!==(c=null===(s=null===(d=null===(n=e[0])||void 0===n?void 0:n.raw)||void 0===d?void 0:d.multistatus)||void 0===s?void 0:s.syncToken)&&void 0!==c?c:v.syncToken})}if("basic"===j){const{isDirty:e,newCtag:t}=yield _({collection:v,headers:g(m,b)}),r=null!==(l=v.objects)&&void 0!==l?l:[],o=null!==(p=yield null===(u=v.fetchObjects)||void 0===u?void 0:u.call(v,{collection:v,headers:g(m,b)}))&&void 0!==p?p:[],a=o.filter((e=>r.every((t=>!h(t.url,e.url))))),n=r.reduce(((e,t)=>{const r=o.find((e=>h(e.url,t.url)));return r&&r.etag&&r.etag!==t.etag?[...e,r]:e}),[]),d=r.filter((e=>o.every((t=>!h(t.url,e.url))))),s=r.filter((e=>o.some((t=>h(e.url,t.url)&&t.etag===e.etag))));if(e)return Object.assign(Object.assign({},v),{objects:A?{created:a,updated:n,deleted:d}:[...s,...a,...n],ctag:t})}return A?Object.assign(Object.assign({},v),{objects:{created:[],updated:[],deleted:[]}}):v}));var S=Object.freeze({__proto__:null,collectionQuery:$,isCollectionDirty:_,makeCollection:w,smartCollectionSync:U,supportedReportSet:k,syncCollection:R});const x=t("tsdav:addressBook"),L=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,depth:a,headers:n,headersToExclude:s}=e;return $({url:t,body:{"addressbook-query":{_attributes:p([d.CARDDAV,d.DAV]),[`${i.DAV}:prop`]:r,filter:null!=o?o:{"prop-filter":{_attributes:{name:"FN"}}}}},defaultNamespace:i.CARDDAV,depth:a,headers:g(n,s)})})),N=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,depth:a,headers:n}=e;return $({url:t,body:{"addressbook-multiget":{_attributes:p([d.DAV,d.CARDDAV]),[`${i.DAV}:prop`]:r,[`${i.DAV}:href`]:o}},defaultNamespace:i.CARDDAV,depth:a,headers:n})})),P=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,props:o,headersToExclude:a}=null!=e?e:{},d=["homeUrl","rootUrl"];if(!t||!V(t,d)){if(!t)throw new Error("no account for fetchAddressBooks");throw new Error(`account must have ${E(t,d)} before fetchAddressBooks`)}const s=yield A({url:t.homeUrl,props:null!=o?o:{[`${i.DAV}:displayname`]:{},[`${i.CALENDAR_SERVER}:getctag`]:{},[`${i.DAV}:resourcetype`]:{},[`${i.DAV}:sync-token`]:{}},depth:"1",headers:g(r,a)});return Promise.all(s.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("addressbook")})).map((e=>{var r,o,a,n,d,s,i,c,l;const u=null!==(a=null===(o=null===(r=e.props)||void 0===r?void 0:r.displayname)||void 0===o?void 0:o._cdata)&&void 0!==a?a:null===(n=e.props)||void 0===n?void 0:n.displayname;return x(`Found address book named ${"string"==typeof u?u:""},\n props: ${JSON.stringify(e.props)}`),{url:new URL(null!==(d=e.href)&&void 0!==d?d:"",null!==(s=t.rootUrl)&&void 0!==s?s:"").href,ctag:null===(i=e.props)||void 0===i?void 0:i.getctag,displayName:"string"==typeof u?u:"",resourcetype:Object.keys(null===(c=e.props)||void 0===c?void 0:c.resourcetype),syncToken:null===(l=e.props)||void 0===l?void 0:l.syncToken}})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:r})})})))))})),H=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,headers:r,objectUrls:o,headersToExclude:a,urlFilter:n=(e=>e),useMultiGet:d=!0}=e;x(`Fetching vcards from ${null==t?void 0:t.url}`);const s=["url"];if(!t||!V(t,s)){if(!t)throw new Error("cannot fetchVCards for undefined addressBook");throw new Error(`addressBook must have ${E(t,s)} before fetchVCards`)}const c=(null!=o?o:(yield L({url:t.url,props:{[`${i.DAV}:getetag`]:{}},depth:"1",headers:g(r,a)})).map((e=>{var t;return e.ok&&null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(n).map((e=>new URL(e).pathname));let l=[];return c.length>0&&(l=d?yield N({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CARDDAV}:address-data`]:{}},objectUrls:c,depth:"1",headers:g(r,a)}):yield L({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CARDDAV}:address-data`]:{}},depth:"1",headers:g(r,a)})),l.map((e=>{var r,o,a,n,d,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:null===(o=e.props)||void 0===o?void 0:o.getetag,data:null!==(d=null===(n=null===(a=e.props)||void 0===a?void 0:a.addressData)||void 0===n?void 0:n._cdata)&&void 0!==d?d:null===(s=e.props)||void 0===s?void 0:s.addressData}}))})),B=e=>n(void 0,void 0,void 0,(function*(){const{addressBook:t,vCardString:r,filename:o,headers:a,headersToExclude:n}=e;return O({url:new URL(o,t.url).href,data:r,headers:g(Object.assign({"content-type":"text/vcard; charset=utf-8","If-None-Match":"*"},a),n)})})),I=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:o}=e;return j({url:t.url,data:t.data,etag:t.etag,headers:g(Object.assign({"content-type":"text/vcard; charset=utf-8"},r),o)})})),M=e=>n(void 0,void 0,void 0,(function*(){const{vCard:t,headers:r,headersToExclude:o}=e;return D({url:t.url,etag:t.etag,headers:g(r,o)})}));var F=Object.freeze({__proto__:null,addressBookMultiGet:N,addressBookQuery:L,createVCard:B,deleteVCard:M,fetchAddressBooks:P,fetchVCards:H,updateVCard:I});const z=t("tsdav:calendar"),Z=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,filters:o,timezone:a,depth:n,headers:s,headersToExclude:c}=e;return $({url:t,body:{"calendar-query":v({_attributes:p([d.CALDAV,d.CALENDAR_SERVER,d.CALDAV_APPLE,d.DAV]),[`${i.DAV}:prop`]:r,filter:o,timezone:a})},defaultNamespace:i.CALDAV,depth:n,headers:g(s,c)})})),G=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,objectUrls:o,filters:a,timezone:n,depth:s,headers:c,headersToExclude:l}=e;return $({url:t,body:{"calendar-multiget":Object.assign(Object.assign({_attributes:p([d.DAV,d.CALDAV]),[`${i.DAV}:prop`]:r,[`${i.DAV}:href`]:o},f("filter",a)),{timezone:n})},defaultNamespace:i.CALDAV,depth:s,headers:g(c,l)})})),Q=e=>n(void 0,void 0,void 0,(function*(){const{url:t,props:r,depth:o,headers:a,headersToExclude:n}=e;return y({url:t,init:{method:"MKCALENDAR",headers:g(v(Object.assign({depth:o},a)),n),namespace:i.DAV,body:{[`${i.CALDAV}:mkcalendar`]:{_attributes:p([d.DAV,d.CALDAV,d.CALDAV_APPLE]),set:{prop:r}}}}})})),q=e=>n(void 0,void 0,void 0,(function*(){const{headers:t,account:r,props:o,projectedProps:a,headersToExclude:d}=null!=e?e:{},s=["homeUrl","rootUrl"];if(!r||!V(r,s)){if(!r)throw new Error("no account for fetchCalendars");throw new Error(`account must have ${E(r,s)} before fetchCalendars`)}const l=yield A({url:r.homeUrl,props:null!=o?o:{[`${i.CALDAV}:calendar-description`]:{},[`${i.CALDAV}:calendar-timezone`]:{},[`${i.DAV}:displayname`]:{},[`${i.CALDAV_APPLE}:calendar-color`]:{},[`${i.CALENDAR_SERVER}:getctag`]:{},[`${i.DAV}:resourcetype`]:{},[`${i.CALDAV}:supported-calendar-component-set`]:{},[`${i.DAV}:sync-token`]:{}},depth:"1",headers:g(t,d)});return Promise.all(l.filter((e=>{var t,r;return Object.keys(null!==(r=null===(t=e.props)||void 0===t?void 0:t.resourcetype)&&void 0!==r?r:{}).includes("calendar")})).filter((e=>{var t,r,o;return(Array.isArray(null===(t=e.props)||void 0===t?void 0:t.supportedCalendarComponentSet.comp)?null===(r=e.props)||void 0===r?void 0:r.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(o=e.props)||void 0===o?void 0:o.supportedCalendarComponentSet.comp._attributes.name]||[]).some((e=>Object.values(c).includes(e)))})).map((e=>{var t,o,n,d,s,i,c,l,u,h,p,v,g,m,b;const y=null===(t=e.props)||void 0===t?void 0:t.calendarDescription,A=null===(o=e.props)||void 0===o?void 0:o.calendarTimezone;return Object.assign({description:"string"==typeof y?y:"",timezone:"string"==typeof A?A:"",url:new URL(null!==(n=e.href)&&void 0!==n?n:"",null!==(d=r.rootUrl)&&void 0!==d?d:"").href,ctag:null===(s=e.props)||void 0===s?void 0:s.getctag,calendarColor:null===(i=e.props)||void 0===i?void 0:i.calendarColor,displayName:null!==(l=null===(c=e.props)||void 0===c?void 0:c.displayname._cdata)&&void 0!==l?l:null===(u=e.props)||void 0===u?void 0:u.displayname,components:Array.isArray(null===(h=e.props)||void 0===h?void 0:h.supportedCalendarComponentSet.comp)?null===(p=e.props)||void 0===p?void 0:p.supportedCalendarComponentSet.comp.map((e=>e._attributes.name)):[null===(v=e.props)||void 0===v?void 0:v.supportedCalendarComponentSet.comp._attributes.name],resourcetype:Object.keys(null===(g=e.props)||void 0===g?void 0:g.resourcetype),syncToken:null===(m=e.props)||void 0===m?void 0:m.syncToken},f("projectedProps",Object.fromEntries(Object.entries(null!==(b=e.props)&&void 0!==b?b:{}).filter((([e])=>null==a?void 0:a[e])))))})).map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{reports:yield k({collection:e,headers:g(t,d)})})})))))})),J=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,objectUrls:r,filters:o,timeRange:a,headers:n,expand:d,urlFilter:s=(e=>Boolean(null==e?void 0:e.includes(".ics"))),useMultiGet:c=!0,headersToExclude:l}=e;if(a){const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(a.start)&&e.test(a.end)||t.test(a.start)&&t.test(a.end)))throw new Error("invalid timeRange format, not in ISO8601")}z(`Fetching calendar objects from ${null==t?void 0:t.url}`);const u=["url"];if(!t||!V(t,u)){if(!t)throw new Error("cannot fetchCalendarObjects for undefined calendar");throw new Error(`calendar must have ${E(t,u)} before fetchCalendarObjects`)}const h=null!=o?o:[{"comp-filter":{_attributes:{name:"VCALENDAR"},"comp-filter":Object.assign({_attributes:{name:"VEVENT"}},a?{"time-range":{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})}}],p=(null!=r?r:(yield Z({url:t.url,props:{[`${i.DAV}:getetag`]:Object.assign({},d&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:h,depth:"1",headers:g(n,l)})).map((e=>{var t;return null!==(t=e.href)&&void 0!==t?t:""}))).map((e=>e.startsWith("http")||!e?e:new URL(e,t.url).href)).filter(s).map((e=>new URL(e).pathname));let v=[];return p.length>0&&(v=!c||d?yield Z({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CALDAV}:calendar-data`]:Object.assign({},d&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},filters:h,depth:"1",headers:g(n,l)}):yield G({url:t.url,props:{[`${i.DAV}:getetag`]:{},[`${i.CALDAV}:calendar-data`]:Object.assign({},d&&a?{[`${i.CALDAV}:expand`]:{_attributes:{start:`${new Date(a.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(a.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}}:{})},objectUrls:p,depth:"1",headers:g(n,l)})),v.map((e=>{var r,o,a,n,d,s;return{url:new URL(null!==(r=e.href)&&void 0!==r?r:"",t.url).href,etag:`${null===(o=e.props)||void 0===o?void 0:o.getetag}`,data:null!==(d=null===(n=null===(a=e.props)||void 0===a?void 0:a.calendarData)||void 0===n?void 0:n._cdata)&&void 0!==d?d:null===(s=e.props)||void 0===s?void 0:s.calendarData}}))})),K=e=>n(void 0,void 0,void 0,(function*(){const{calendar:t,iCalString:r,filename:o,headers:a,headersToExclude:n}=e;return O({url:new URL(o,t.url).href,data:r,headers:g(Object.assign({"content-type":"text/calendar; charset=utf-8","If-None-Match":"*"},a),n)})})),W=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:o}=e;return j({url:t.url,data:t.data,etag:t.etag,headers:g(Object.assign({"content-type":"text/calendar; charset=utf-8"},r),o)})})),Y=e=>n(void 0,void 0,void 0,(function*(){const{calendarObject:t,headers:r,headersToExclude:o}=e;return D({url:t.url,etag:t.etag,headers:g(r,o)})})),X=e=>n(void 0,void 0,void 0,(function*(){var t;const{oldCalendars:r,account:o,detailedResult:a,headers:d,headersToExclude:s}=e;if(!o)throw new Error("Must have account before syncCalendars");const i=null!==(t=null!=r?r:o.calendars)&&void 0!==t?t:[],c=yield q({account:o,headers:g(d,s)}),l=c.filter((e=>i.every((t=>!h(t.url,e.url)))));z(`new calendars: ${l.map((e=>e.displayName))}`);const u=i.reduce(((e,t)=>{const r=c.find((e=>h(e.url,t.url)));return r&&(r.syncToken&&r.syncToken!==t.syncToken||r.ctag&&r.ctag!==t.ctag)?[...e,r]:e}),[]);z(`updated calendars: ${u.map((e=>e.displayName))}`);const p=yield Promise.all(u.map((e=>n(void 0,void 0,void 0,(function*(){return yield U({collection:Object.assign(Object.assign({},e),{objectMultiGet:G}),method:"webdav",headers:g(d,s),account:o})}))))),v=i.filter((e=>c.every((t=>!h(t.url,e.url)))));z(`deleted calendars: ${v.map((e=>e.displayName))}`);const f=i.filter((e=>c.some((t=>h(t.url,e.url)&&(t.syncToken&&t.syncToken!==e.syncToken||t.ctag&&t.ctag!==e.ctag)))));return a?{created:l,updated:u,deleted:v}:[...f,...l,...p]})),ee=e=>n(void 0,void 0,void 0,(function*(){const{url:t,timeRange:r,depth:o,headers:a,headersToExclude:n}=e;if(!r)throw new Error("timeRange is required");{const e=/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i,t=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i;if(!(e.test(r.start)&&e.test(r.end)||t.test(r.start)&&t.test(r.end)))throw new Error("invalid timeRange format, not in ISO8601")}return(yield $({url:t,body:{"free-busy-query":v({_attributes:p([d.CALDAV]),[`${i.CALDAV}:time-range`]:{_attributes:{start:`${new Date(r.start).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`,end:`${new Date(r.end).toISOString().slice(0,19).replace(/[-:.]/g,"")}Z`}}})},defaultNamespace:i.CALDAV,depth:o,headers:g(a,n)}))[0]}));var te=Object.freeze({__proto__:null,calendarMultiGet:G,calendarQuery:Z,createCalendarObject:K,deleteCalendarObject:Y,fetchCalendarObjects:J,fetchCalendars:q,freeBusyQuery:ee,makeCalendar:Q,syncCalendars:X,updateCalendarObject:W});const re=t("tsdav:account"),oe=t=>n(void 0,void 0,void 0,(function*(){var r,o;re("Service discovery...");const{account:a,headers:n,headersToExclude:d}=t,s=new URL(a.serverUrl),i=new URL(`/.well-known/${a.accountType}`,s);i.protocol=null!==(r=s.protocol)&&void 0!==r?r:"http";try{const t=yield e(i.href,{headers:g(n,d),method:"PROPFIND",redirect:"manual"});if(t.status>=300&&t.status<400){const e=t.headers.get("Location");if("string"==typeof e&&e.length){re(`Service discovery redirected to ${e}`);const t=new URL(e,s);return t.hostname===i.hostname&&i.port&&!t.port&&(t.port=i.port),t.protocol=null!==(o=s.protocol)&&void 0!==o?o:"http",t.href}}}catch(e){re(`Service discovery failed: ${e.stack}`)}return s.href})),ae=e=>n(void 0,void 0,void 0,(function*(){var t,r,o,a,n;const{account:d,headers:s,headersToExclude:c}=e,l=["rootUrl"];if(!V(d,l))throw new Error(`account must have ${E(d,l)} before fetchPrincipalUrl`);re(`Fetching principal url from path ${d.rootUrl}`);const[u]=yield A({url:d.rootUrl,props:{[`${i.DAV}:current-user-principal`]:{}},depth:"0",headers:g(s,c)});if(!u.ok&&(re(`Fetch principal url failed: ${u.statusText}`),401===u.status))throw new Error("Invalid credentials");return re(`Fetched principal url ${null===(r=null===(t=u.props)||void 0===t?void 0:t.currentUserPrincipal)||void 0===r?void 0:r.href}`),new URL(null!==(n=null===(a=null===(o=u.props)||void 0===o?void 0:o.currentUserPrincipal)||void 0===a?void 0:a.href)&&void 0!==n?n:"",d.rootUrl).href})),ne=e=>n(void 0,void 0,void 0,(function*(){var t,r;const{account:o,headers:a,headersToExclude:n}=e,d=["principalUrl","rootUrl"];if(!V(o,d))throw new Error(`account must have ${E(o,d)} before fetchHomeUrl`);re(`Fetch home url from ${o.principalUrl}`);const s=(yield A({url:o.principalUrl,props:"caldav"===o.accountType?{[`${i.CALDAV}:calendar-home-set`]:{}}:{[`${i.CARDDAV}:addressbook-home-set`]:{}},depth:"0",headers:g(a,n)})).find((e=>h(o.principalUrl,e.href)));if(!s||!s.ok)throw new Error("cannot find homeUrl");const c=new URL("caldav"===o.accountType?null===(t=null==s?void 0:s.props)||void 0===t?void 0:t.calendarHomeSet.href:null===(r=null==s?void 0:s.props)||void 0===r?void 0:r.addressbookHomeSet.href,o.rootUrl).href;return re(`Fetched home url ${c}`),c})),de=e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o=!1,loadObjects:a=!1,headersToExclude:d}=e,s=Object.assign({},t);return s.rootUrl=yield oe({account:t,headers:g(r,d)}),s.principalUrl=yield ae({account:s,headers:g(r,d)}),s.homeUrl=yield ne({account:s,headers:g(r,d)}),(o||a)&&("caldav"===t.accountType?s.calendars=yield q({headers:g(r,d),account:s}):"carddav"===t.accountType&&(s.addressBooks=yield P({headers:g(r,d),account:s}))),a&&("caldav"===t.accountType&&s.calendars?s.calendars=yield Promise.all(s.calendars.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield J({calendar:e,headers:g(r,d)})})}))))):"carddav"===t.accountType&&s.addressBooks&&(s.addressBooks=yield Promise.all(s.addressBooks.map((e=>n(void 0,void 0,void 0,(function*(){return Object.assign(Object.assign({},e),{objects:yield H({addressBook:e,headers:g(r,d)})})}))))))),s}));var se=Object.freeze({__proto__:null,createAccount:de,fetchHomeUrl:ne,fetchPrincipalUrl:ae,serviceDiscovery:oe});const ie=t("tsdav:authHelper"),ce=(e,t)=>(...r)=>e(Object.assign(Object.assign({},t),r[0])),le=e=>(ie(`Basic auth token generated: ${o(`${e.username}:${e.password}`)}`),{authorization:`Basic ${o(`${e.username}:${e.password}`)}`}),ue=t=>n(void 0,void 0,void 0,(function*(){const r=["authorizationCode","redirectUrl","clientId","clientSecret","tokenUrl"];if(!V(t,r))throw new Error(`Oauth credentials missing: ${E(t,r)}`);const o=new URLSearchParams({grant_type:"authorization_code",code:t.authorizationCode,redirect_uri:t.redirectUrl,client_id:t.clientId,client_secret:t.clientSecret});ie(t.tokenUrl),ie(o.toString());const a=yield e(t.tokenUrl,{method:"POST",body:o.toString(),headers:{"content-length":`${o.toString().length}`,"content-type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return ie(`Fetch Oauth tokens failed: ${yield a.text()}`),{}})),he=t=>n(void 0,void 0,void 0,(function*(){const r=["refreshToken","clientId","clientSecret","tokenUrl"];if(!V(t,r))throw new Error(`Oauth credentials missing: ${E(t,r)}`);const o=new URLSearchParams({client_id:t.clientId,client_secret:t.clientSecret,refresh_token:t.refreshToken,grant_type:"refresh_token"}),a=yield e(t.tokenUrl,{method:"POST",body:o.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}});if(a.ok){return yield a.json()}return ie(`Refresh access token failed: ${yield a.text()}`),{}})),pe=e=>n(void 0,void 0,void 0,(function*(){var t;ie("Fetching oauth headers");let r={};return e.refreshToken?(e.refreshToken&&!e.accessToken||Date.now()>(null!==(t=e.expiration)&&void 0!==t?t:0))&&(r=yield he(e)):r=yield ue(e),ie(`Oauth tokens fetched: ${r.access_token}`),{tokens:r,headers:{authorization:`Bearer ${r.access_token}`}}}));var ve=Object.freeze({__proto__:null,defaultParam:ce,fetchOauthTokens:ue,getBasicAuthHeaders:le,getOauthHeaders:pe,refreshAccessToken:he});const fe=e=>n(void 0,void 0,void 0,(function*(){var t;const{serverUrl:r,credentials:o,authMethod:d,defaultAccountType:s,authFunction:i}=e;let c={};switch(d){case"Basic":c=le(o);break;case"Oauth":c=(yield pe(o)).headers;break;case"Digest":c={Authorization:`Digest ${o.digestString}`};break;case"Custom":c=null!==(t=yield null==i?void 0:i(o))&&void 0!==t?t:{};break;default:throw new Error("Invalid auth method")}const l=s?yield de({account:{serverUrl:r,credentials:o,accountType:s},headers:c}):void 0,u=ce(O,{url:r,headers:c}),h=ce(j,{headers:c,url:r}),p=ce(D,{headers:c,url:r}),v=ce(A,{headers:c}),f=ce($,{headers:c}),g=ce(w,{headers:c}),m=ce(R,{headers:c}),b=ce(k,{headers:c}),C=ce(_,{headers:c}),V=ce(U,{headers:c,account:l}),E=ce(Z,{headers:c}),T=ce(G,{headers:c}),S=ce(Q,{headers:c}),x=ce(q,{headers:c,account:l}),F=ce(J,{headers:c}),z=ce(K,{headers:c}),ee=ce(W,{headers:c}),te=ce(Y,{headers:c}),re=ce(X,{account:l,headers:c}),oe=ce(L,{headers:c}),ae=ce(N,{headers:c});return{davRequest:e=>n(void 0,void 0,void 0,(function*(){const{init:t}=e,r=a(e,["init"]),{headers:o}=t,n=a(t,["headers"]);return y(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},n),{headers:Object.assign(Object.assign({},c),o)})}))})),propfind:v,createAccount:e=>n(void 0,void 0,void 0,(function*(){const{account:t,headers:a,loadCollections:n,loadObjects:d}=e;return de({account:Object.assign({serverUrl:r,credentials:o},t),headers:Object.assign(Object.assign({},c),a),loadCollections:n,loadObjects:d})})),createObject:u,updateObject:h,deleteObject:p,calendarQuery:E,addressBookQuery:oe,collectionQuery:f,makeCollection:g,calendarMultiGet:T,makeCalendar:S,syncCollection:m,supportedReportSet:b,isCollectionDirty:C,smartCollectionSync:V,fetchCalendars:x,fetchCalendarObjects:F,createCalendarObject:z,updateCalendarObject:ee,deleteCalendarObject:te,syncCalendars:re,fetchAddressBooks:ce(P,{account:l,headers:c}),addressBookMultiGet:ae,fetchVCards:ce(H,{headers:c}),createVCard:ce(B,{headers:c}),updateVCard:ce(I,{headers:c}),deleteVCard:ce(M,{headers:c})}}));class ge{constructor(e){var t,r;this.serverUrl=e.serverUrl,this.credentials=e.credentials,this.authMethod=null!==(t=e.authMethod)&&void 0!==t?t:"Basic",this.accountType=null!==(r=e.defaultAccountType)&&void 0!==r?r:"caldav"}login(){var e;return n(this,void 0,void 0,(function*(){switch(this.authMethod){case"Basic":this.authHeaders=le(this.credentials);break;case"Oauth":this.authHeaders=(yield pe(this.credentials)).headers;break;case"Digest":this.authHeaders={Authorization:`Digest ${this.credentials.digestString}`};break;case"Custom":this.authHeaders=yield null===(e=this.authFunction)||void 0===e?void 0:e.call(this,this.credentials);break;default:throw new Error("Invalid auth method")}this.account=this.accountType?yield de({account:{serverUrl:this.serverUrl,credentials:this.credentials,accountType:this.accountType},headers:this.authHeaders}):void 0}))}davRequest(e){return n(this,void 0,void 0,(function*(){const{init:t}=e,r=a(e,["init"]),{headers:o}=t,n=a(t,["headers"]);return y(Object.assign(Object.assign({},r),{init:Object.assign(Object.assign({},n),{headers:Object.assign(Object.assign({},this.authHeaders),o)})}))}))}createObject(...e){return n(this,void 0,void 0,(function*(){return ce(O,{url:this.serverUrl,headers:this.authHeaders})(e[0])}))}updateObject(...e){return n(this,void 0,void 0,(function*(){return ce(j,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}deleteObject(...e){return n(this,void 0,void 0,(function*(){return ce(D,{headers:this.authHeaders,url:this.serverUrl})(e[0])}))}propfind(...e){return n(this,void 0,void 0,(function*(){return ce(A,{headers:this.authHeaders})(e[0])}))}createAccount(e){return n(this,void 0,void 0,(function*(){const{account:t,headers:r,loadCollections:o,loadObjects:a}=e;return de({account:Object.assign({serverUrl:this.serverUrl,credentials:this.credentials},t),headers:Object.assign(Object.assign({},this.authHeaders),r),loadCollections:o,loadObjects:a})}))}collectionQuery(...e){return n(this,void 0,void 0,(function*(){return ce($,{headers:this.authHeaders})(e[0])}))}makeCollection(...e){return n(this,void 0,void 0,(function*(){return ce(w,{headers:this.authHeaders})(e[0])}))}syncCollection(...e){return n(this,void 0,void 0,(function*(){return ce(R,{headers:this.authHeaders})(e[0])}))}supportedReportSet(...e){return n(this,void 0,void 0,(function*(){return ce(k,{headers:this.authHeaders})(e[0])}))}isCollectionDirty(...e){return n(this,void 0,void 0,(function*(){return ce(_,{headers:this.authHeaders})(e[0])}))}smartCollectionSync(...e){return n(this,void 0,void 0,(function*(){return ce(U,{headers:this.authHeaders,account:this.account})(e[0])}))}calendarQuery(...e){return n(this,void 0,void 0,(function*(){return ce(Z,{headers:this.authHeaders})(e[0])}))}makeCalendar(...e){return n(this,void 0,void 0,(function*(){return ce(Q,{headers:this.authHeaders})(e[0])}))}calendarMultiGet(...e){return n(this,void 0,void 0,(function*(){return ce(G,{headers:this.authHeaders})(e[0])}))}fetchCalendars(...e){return n(this,void 0,void 0,(function*(){return ce(q,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchCalendarObjects(...e){return n(this,void 0,void 0,(function*(){return ce(J,{headers:this.authHeaders})(e[0])}))}createCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(K,{headers:this.authHeaders})(e[0])}))}updateCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(W,{headers:this.authHeaders})(e[0])}))}deleteCalendarObject(...e){return n(this,void 0,void 0,(function*(){return ce(Y,{headers:this.authHeaders})(e[0])}))}syncCalendars(...e){return n(this,void 0,void 0,(function*(){return ce(X,{headers:this.authHeaders,account:this.account})(e[0])}))}addressBookQuery(...e){return n(this,void 0,void 0,(function*(){return ce(L,{headers:this.authHeaders})(e[0])}))}addressBookMultiGet(...e){return n(this,void 0,void 0,(function*(){return ce(N,{headers:this.authHeaders})(e[0])}))}fetchAddressBooks(...e){return n(this,void 0,void 0,(function*(){return ce(P,{headers:this.authHeaders,account:this.account})(null==e?void 0:e[0])}))}fetchVCards(...e){return n(this,void 0,void 0,(function*(){return ce(H,{headers:this.authHeaders})(e[0])}))}createVCard(...e){return n(this,void 0,void 0,(function*(){return ce(B,{headers:this.authHeaders})(e[0])}))}updateVCard(...e){return n(this,void 0,void 0,(function*(){return ce(I,{headers:this.authHeaders})(e[0])}))}deleteVCard(...e){return n(this,void 0,void 0,(function*(){return ce(M,{headers:this.authHeaders})(e[0])}))}}var me=Object.freeze({__proto__:null,DAVClient:ge,createDAVClient:fe}),be=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({DAVNamespace:d,DAVNamespaceShort:i,DAVAttributeMap:s},me),C),S),se),F),te),ve),m);export{s as DAVAttributeMap,ge as DAVClient,d as DAVNamespace,i as DAVNamespaceShort,L as addressBookQuery,G as calendarMultiGet,Z as calendarQuery,v as cleanupFalsy,$ as collectionQuery,de as createAccount,K as createCalendarObject,fe as createDAVClient,O as createObject,B as createVCard,y as davRequest,be as default,Y as deleteCalendarObject,D as deleteObject,M as deleteVCard,P as fetchAddressBooks,J as fetchCalendarObjects,q as fetchCalendars,ue as fetchOauthTokens,H as fetchVCards,ee as freeBusyQuery,le as getBasicAuthHeaders,p as getDAVAttribute,pe as getOauthHeaders,_ as isCollectionDirty,Q as makeCalendar,A as propfind,he as refreshAccessToken,U as smartCollectionSync,k as supportedReportSet,X as syncCalendars,R as syncCollection,W as updateCalendarObject,j as updateObject,I as updateVCard,h as urlContains,u as urlEquals}; diff --git a/dist/tsdav.mjs b/dist/tsdav.mjs index 8a747bd..6599b8b 100644 --- a/dist/tsdav.mjs +++ b/dist/tsdav.mjs @@ -140,11 +140,21 @@ const conditionalParam = (key, param) => { } return {}; }; +const excludeHeaders = (headers, headersToExclude) => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + return Object.fromEntries(Object.entries(headers).filter(([key]) => !headersToExclude.includes(key))); +}; var requestHelpers = /*#__PURE__*/Object.freeze({ __proto__: null, cleanupFalsy: cleanupFalsy, conditionalParam: conditionalParam, + excludeHeaders: excludeHeaders, getDAVAttribute: getDAVAttribute, urlContains: urlContains, urlEquals: urlEquals @@ -270,12 +280,12 @@ const davRequest = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { propfind: { @@ -293,22 +303,26 @@ const propfind = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, headers } = params; - return fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }); const updateObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); const deleteObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return fetch(url, { method: 'DELETE', - headers: cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ 'If-Match': etag }, headers)), headersToExclude), }); }); @@ -332,12 +346,12 @@ const findMissingFieldNames = (obj, fields) => fields.reduce((prev, curr) => (ob const debug$4 = getLogger('tsdav:collection'); const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers } = params; + const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers, headersToExclude, } = params; const queryResults = yield davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: defaultNamespace, body, }, @@ -349,12 +363,12 @@ const collectionQuery = (params) => __awaiter(void 0, void 0, void 0, function* return queryResults; }); const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: props ? { @@ -370,27 +384,27 @@ const makeCollection = (params) => __awaiter(void 0, void 0, void 0, function* ( }); const supportedReportSet = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d, _e; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ((_e = (_d = (_c = (_b = (_a = res[0]) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.supportedReportSet) === null || _c === void 0 ? void 0 : _c.supportedReport) === null || _d === void 0 ? void 0 : _d.map((sr) => Object.keys(sr.report)[0])) !== null && _e !== void 0 ? _e : []); }); const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function* () { var _f, _g, _h; - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = yield propfind({ url: collection.url, props: { [`${DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -405,13 +419,13 @@ const isCollectionDirty = (params) => __awaiter(void 0, void 0, void 0, function * This is for webdav sync-collection only */ const syncCollection = (params) => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: DAVNamespaceShort.DAV, - headers: Object.assign({}, headers), + headers: excludeHeaders(Object.assign({}, headers), headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -430,7 +444,7 @@ const syncCollection = (params) => { /** remote collection to local */ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, function* () { var _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u; - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -450,7 +464,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, syncLevel: 1, syncToken: collection.syncToken, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const objectResponses = result.filter((r) => { var _a; @@ -470,7 +484,7 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi }, objectUrls: changedObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })))) !== null && _l !== void 0 ? _l : [] : []; const remoteObjects = multiGetObjectResponse.map((res) => { @@ -511,10 +525,13 @@ const smartCollectionSync = (params) => __awaiter(void 0, void 0, void 0, functi if (syncMethod === 'basic') { const { isDirty, newCtag } = yield isCollectionDirty({ collection, - headers, + headers: excludeHeaders(headers, headersToExclude), }); const localObjects = (_s = collection.objects) !== null && _s !== void 0 ? _s : []; - const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { collection, headers })))) !== null && _u !== void 0 ? _u : []; + const remoteObjects = (_u = (yield ((_t = collection.fetchObjects) === null || _t === void 0 ? void 0 : _t.call(collection, { + collection, + headers: excludeHeaders(headers, headersToExclude), + })))) !== null && _u !== void 0 ? _u : []; // no existing url const created = remoteObjects.filter((ro) => localObjects.every((lo) => !urlContains(lo.url, ro.url))); // debug(`created objects: ${created.map((o) => o.url).join('\n')}`); @@ -557,7 +574,7 @@ var collection = /*#__PURE__*/Object.freeze({ const debug$3 = getLogger('tsdav:addressBook'); const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -575,7 +592,7 @@ const addressBookQuery = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { @@ -595,7 +612,7 @@ const addressBookMultiGet = (params) => __awaiter(void 0, void 0, void 0, functi }); }); const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, props: customProps } = params !== null && params !== void 0 ? params : {}; + const { account, headers, props: customProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -612,7 +629,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('addressbook'); }) @@ -634,7 +651,7 @@ const fetchAddressBooks = (params) => __awaiter(void 0, void 0, void 0, function }))); }); const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { addressBook, headers, objectUrls, headersToExclude, urlFilter = (url) => url, useMultiGet = true, } = params; debug$3(`Fetching vcards from ${addressBook === null || addressBook === void 0 ? void 0 : addressBook.url}`); const requiredFields = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -649,7 +666,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { url: addressBook.url, props: { [`${DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (res.ok ? (_a = res.href) !== null && _a !== void 0 ? _a : '' : ''); })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, addressBook.url).href)) .filter(urlFilter) @@ -665,7 +682,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -676,7 +693,7 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { [`${DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -690,28 +707,28 @@ const fetchVCards = (params) => __awaiter(void 0, void 0, void 0, function* () { }); }); const createVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/vcard; charset=utf-8' }, headers), headersToExclude), }); }); const deleteVCard = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); @@ -728,7 +745,7 @@ var addressBook = /*#__PURE__*/Object.freeze({ const debug$2 = getLogger('tsdav:calendar'); const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -746,11 +763,11 @@ const calendarQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -758,16 +775,16 @@ const calendarMultiGet = (params) => __awaiter(void 0, void 0, void 0, function* }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }); const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy(Object.assign({ depth }, headers)), + headers: excludeHeaders(cleanupFalsy(Object.assign({ depth }, headers)), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { [`${DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -785,7 +802,7 @@ const makeCalendar = (params) => __awaiter(void 0, void 0, void 0, function* () }); }); const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { headers, account, props: customProps, projectedProps } = params !== null && params !== void 0 ? params : {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params !== null && params !== void 0 ? params : {}; const requiredFields = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -806,7 +823,7 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all(res .filter((r) => { var _a, _b; return Object.keys((_b = (_a = r.props) === null || _a === void 0 ? void 0 : _a.resourcetype) !== null && _b !== void 0 ? _b : {}).includes('calendar'); }) @@ -828,11 +845,14 @@ const fetchCalendars = (params) => __awaiter(void 0, void 0, void 0, function* ( : [(_m = rs.props) === null || _m === void 0 ? void 0 : _m.supportedCalendarComponentSet.comp._attributes.name], resourcetype: Object.keys((_o = rs.props) === null || _o === void 0 ? void 0 : _o.resourcetype), syncToken: (_p = rs.props) === null || _p === void 0 ? void 0 : _p.syncToken }, conditionalParam('projectedProps', Object.fromEntries(Object.entries((_q = rs.props) !== null && _q !== void 0 ? _q : {}).filter(([key]) => projectedProps === null || projectedProps === void 0 ? void 0 : projectedProps[key])))); }) .map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ collection: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { reports: yield supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); }); const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, } = params; + const { calendar, objectUrls, filters: customFilters, timeRange, headers, expand, urlFilter = (url) => Boolean(url === null || url === void 0 ? void 0 : url.includes('.ics')), useMultiGet = true, headersToExclude, } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -902,7 +922,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), })).map((res) => { var _a; return (_a = res.href) !== null && _a !== void 0 ? _a : ''; })) .map((url) => (url.startsWith('http') || !url ? url : new URL(url, calendar.url).href)) // patch up to full url if url is not full .filter(urlFilter) // custom filter function on calendar objects @@ -933,7 +953,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { @@ -960,7 +980,7 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -974,37 +994,44 @@ const fetchCalendarObjects = (params) => __awaiter(void 0, void 0, void 0, funct }); }); const createCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8', 'If-None-Match': '*' }, headers), headersToExclude), }); }); const updateCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), + headers: excludeHeaders(Object.assign({ 'content-type': 'text/calendar; charset=utf-8' }, headers), headersToExclude), }); }); const deleteCalendarObject = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }); /** * Sync remote calendars to local */ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a; - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = (_a = oldCalendars !== null && oldCalendars !== void 0 ? oldCalendars : account.calendars) !== null && _a !== void 0 ? _a : []; - const remoteCalendars = yield fetchCalendars({ account, headers }); + const remoteCalendars = yield fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => localCalendars.every((lc) => !urlContains(lc.url, rc.url))); debug$2(`new calendars: ${created.map((cc) => cc.displayName)}`); @@ -1023,7 +1050,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () const result = yield smartCollectionSync({ collection: Object.assign(Object.assign({}, u), { objectMultiGet: calendarMultiGet }), method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -1043,7 +1070,7 @@ const syncCalendars = (params) => __awaiter(void 0, void 0, void 0, function* () : [...unchanged, ...created, ...updatedWithObjects]; }); const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange const ISO_8601 = /^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i; @@ -1071,7 +1098,7 @@ const freeBusyQuery = (params) => __awaiter(void 0, void 0, void 0, function* () }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }); @@ -1094,13 +1121,13 @@ const debug$1 = getLogger('tsdav:account'); const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; debug$1('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); uri.protocol = (_a = endpoint.protocol) !== null && _a !== void 0 ? _a : 'http'; try { const response = yield fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -1125,7 +1152,7 @@ const serviceDiscovery = (params) => __awaiter(void 0, void 0, void 0, function* }); const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _c, _d, _e, _f, _g; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchPrincipalUrl`); @@ -1137,7 +1164,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function [`${DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug$1(`Fetch principal url failed: ${response.statusText}`); @@ -1150,7 +1177,7 @@ const fetchPrincipalUrl = (params) => __awaiter(void 0, void 0, void 0, function }); const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () { var _h, _j; - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error(`account must have ${findMissingFieldNames(account, requiredFields)} before fetchHomeUrl`); @@ -1162,7 +1189,7 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () ? { [`${DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); if (!matched || !matched.ok) { @@ -1175,29 +1202,50 @@ const fetchHomeUrl = (params) => __awaiter(void 0, void 0, void 0, function* () return result; }); const createAccount = (params) => __awaiter(void 0, void 0, void 0, function* () { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { account, headers, loadCollections = false, loadObjects = false, headersToExclude, } = params; const newAccount = Object.assign({}, account); - newAccount.rootUrl = yield serviceDiscovery({ account, headers }); - newAccount.principalUrl = yield fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = yield fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = yield serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = yield fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = yield fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = yield fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = yield fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = yield fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = yield fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { if (account.accountType === 'caldav' && newAccount.calendars) { newAccount.calendars = yield Promise.all(newAccount.calendars.map((cal) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ calendar: cal, headers }) })); + return (Object.assign(Object.assign({}, cal), { objects: yield fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = yield Promise.all(newAccount.addressBooks.map((addr) => __awaiter(void 0, void 0, void 0, function* () { - return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ addressBook: addr, headers }) })); + return (Object.assign(Object.assign({}, addr), { objects: yield fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }) })); }))); } } diff --git a/docs/docs/caldav/calendarMultiGet.md b/docs/docs/caldav/calendarMultiGet.md index d328ff2..d9f9ef8 100644 --- a/docs/docs/caldav/calendarMultiGet.md +++ b/docs/docs/caldav/calendarMultiGet.md @@ -36,6 +36,7 @@ const calendarObjects = await calendarMultiGet({ - `filters` [CALDAV filter element](https://datatracker.ietf.org/doc/html/rfc4791#section-9.7) in [ElementCompact](../types/ElementCompact.md) form - `timezone` timezone of the calendar - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/calendarQuery.md b/docs/docs/caldav/calendarQuery.md index 828d275..bab2443 100644 --- a/docs/docs/caldav/calendarQuery.md +++ b/docs/docs/caldav/calendarQuery.md @@ -39,6 +39,7 @@ const results = await calendarQuery({ - `depth` [DAVDepth](../types/DAVDepth.md) - `timezone` iana timezone name, like `America/Los_Angeles` - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/createCalendarObject.md b/docs/docs/caldav/createCalendarObject.md index 98a1f71..05ea607 100644 --- a/docs/docs/caldav/createCalendarObject.md +++ b/docs/docs/caldav/createCalendarObject.md @@ -23,6 +23,7 @@ const result = await createCalendarObject({ - `filename` **required**, file name of the new calendar object, should end in `.ics` - `iCalString` **required**, calendar file data - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/deleteCalendarObject.md b/docs/docs/caldav/deleteCalendarObject.md index 6b1bd0b..62d89f4 100644 --- a/docs/docs/caldav/deleteCalendarObject.md +++ b/docs/docs/caldav/deleteCalendarObject.md @@ -22,6 +22,7 @@ const result = await deleteCalendarObject({ - `calendarObject` **required**, [DAVCalendarObject](../types/DAVCalendarObject.md) to delete - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/fetchCalendarObjects.md b/docs/docs/caldav/fetchCalendarObjects.md index 0735f1b..e7c6764 100644 --- a/docs/docs/caldav/fetchCalendarObjects.md +++ b/docs/docs/caldav/fetchCalendarObjects.md @@ -24,6 +24,7 @@ const objects = await fetchCalendarObjects({ - `start` start time in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601), format that's not in ISO 8601 will cause an error be thrown. - `end` end time in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601), format that's not in ISO 8601 will cause an error be thrown. - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude :::info some calendar providers may return their objects with different suffix than .ics such as `http://api.xx/97ec5f81-5ecc-4505-9621-08806f6796a3` or `http://api.xx/calobj1.abc` in this case, you need to pass in your own calendar object name filter so that you can have results you need. diff --git a/docs/docs/caldav/fetchCalendars.md b/docs/docs/caldav/fetchCalendars.md index a16720b..3301780 100644 --- a/docs/docs/caldav/fetchCalendars.md +++ b/docs/docs/caldav/fetchCalendars.md @@ -19,6 +19,7 @@ const calendars = await fetchCalendars({ - `account` [DAVAccount](../types/DAVAccount.md) - `header` request headers +- `headersToExclude` array of keys of the headers you want to exclude - `props` [CALDAV prop element](https://datatracker.ietf.org/doc/html/rfc4791#section-9.6.4) in [ElementCompact](../types/ElementCompact.md) form, overriding default props to fetch - `projectedProps` custom props projection object, used as a map to map fetched custom props to values :::caution diff --git a/docs/docs/caldav/freeBusyQuery.md b/docs/docs/caldav/freeBusyQuery.md index e7d4b96..5bc42ff 100644 --- a/docs/docs/caldav/freeBusyQuery.md +++ b/docs/docs/caldav/freeBusyQuery.md @@ -33,6 +33,7 @@ const freeBusyQuery = await freeBusyQuery({ - `end` end time in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601), format that's not in ISO 8601 will cause an error be thrown. - `depth` [DAVDepth](../types/DAVDepth.md) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/makeCalendar.md b/docs/docs/caldav/makeCalendar.md index 9e15d3f..71e832d 100644 --- a/docs/docs/caldav/makeCalendar.md +++ b/docs/docs/caldav/makeCalendar.md @@ -25,6 +25,7 @@ const result = await makeCalendar({ - `props` **required**, [CALDAV prop element](https://datatracker.ietf.org/doc/html/rfc4791#section-9.6.4) in [ElementCompact](../types/ElementCompact.md) form - `depth` [DAVDepth](../types/DAVDepth.md) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/caldav/syncCalendars.md b/docs/docs/caldav/syncCalendars.md index f4776f1..8a506eb 100644 --- a/docs/docs/caldav/syncCalendars.md +++ b/docs/docs/caldav/syncCalendars.md @@ -37,6 +37,7 @@ const { created, updated, deleted } = await syncCalendars({ - `account` the account which calendars belong to, - `detailedResult` if falsy, the result would be latest version of the calendars of this account, otherwise they would be separated into three groups of `created`, `updated`, and `deleted`. - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude :::info `objects` inside `oldCalendars` are not needed when `detailedResult` is `true`. diff --git a/docs/docs/caldav/updateCalendarObject.md b/docs/docs/caldav/updateCalendarObject.md index aa6056d..a596f97 100644 --- a/docs/docs/caldav/updateCalendarObject.md +++ b/docs/docs/caldav/updateCalendarObject.md @@ -23,6 +23,7 @@ const result = updateCalendarObject({ - `calendarObject` **required**, [DAVCalendarObject](../types/DAVCalendarObject.md) to update - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/carddav/addressBookMultiGet.md b/docs/docs/carddav/addressBookMultiGet.md index 015bb5d..33a92b5 100644 --- a/docs/docs/carddav/addressBookMultiGet.md +++ b/docs/docs/carddav/addressBookMultiGet.md @@ -36,6 +36,7 @@ const vcards = await addressBookMultiGet({ - `filters` [CARDDAV filter element](https://datatracker.ietf.org/doc/html/rfc6352#section-10.5) in [ElementCompact](../types/ElementCompact.md) form, overriding default filters - `depth` **required**, [DAVDepth](../types/DAVDepth.md) of the request - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/carddav/addressBookQuery.md b/docs/docs/carddav/addressBookQuery.md index 71e32da..80db776 100644 --- a/docs/docs/carddav/addressBookQuery.md +++ b/docs/docs/carddav/addressBookQuery.md @@ -33,6 +33,7 @@ const addressbooks = await addressBookQuery({ - `filters` [CARDDAV filter element](https://datatracker.ietf.org/doc/html/rfc6352#section-10.5) in [ElementCompact](../types/ElementCompact.md) form - `depth` [DAVDepth](../types/DAVDepth.md) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/carddav/createVCard.md b/docs/docs/carddav/createVCard.md index 37c539e..221e451 100644 --- a/docs/docs/carddav/createVCard.md +++ b/docs/docs/carddav/createVCard.md @@ -23,6 +23,7 @@ const result = await createVCard({ - `filename` **required**, file name of the new vcard, should end in `.vcf` - `vCardString` **required**, vcard file data - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/carddav/deleteVCard.md b/docs/docs/carddav/deleteVCard.md index c4edca2..1b3fa66 100644 --- a/docs/docs/carddav/deleteVCard.md +++ b/docs/docs/carddav/deleteVCard.md @@ -22,6 +22,7 @@ const result = await deleteCalendarObject({ - `vCard` **required**, [DAVVCard](../types/DAVVCard.md) to delete - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/carddav/fetchAddressBooks.md b/docs/docs/carddav/fetchAddressBooks.md index 755c451..2eafa8f 100644 --- a/docs/docs/carddav/fetchAddressBooks.md +++ b/docs/docs/carddav/fetchAddressBooks.md @@ -20,6 +20,7 @@ const addressBooks = await fetchAddressBooks({ - `account` [DAVAccount](../types/DAVAccount.md) - `props` [CARDDAV prop element](https://datatracker.ietf.org/doc/html/rfc6352#section-10.4.2) in [ElementCompact](../types/ElementCompact.md) form, overriding default props to fetch. - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude :::caution when overriding props, resourcetype is required diff --git a/docs/docs/carddav/fetchVCards.md b/docs/docs/carddav/fetchVCards.md index 6eb1a99..4ed11b7 100644 --- a/docs/docs/carddav/fetchVCards.md +++ b/docs/docs/carddav/fetchVCards.md @@ -20,6 +20,7 @@ const vcards = await fetchVCards({ - `addressBook` **required**, [DAVAddressBook](../types/DAVAddressBook.md) to fetch vcards from - `objectUrls` vcard urls to fetch - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude :::info some providers may return their objects with different suffixes such as `http://api.xx/97ec5f81-5ecc-4505-9621-08806f6796a3` or `http://api.xx/calobj1.abc` in this case, you can pass in your own object name filter diff --git a/docs/docs/carddav/updateVCard.md b/docs/docs/carddav/updateVCard.md index c5b7e96..0f6f431 100644 --- a/docs/docs/carddav/updateVCard.md +++ b/docs/docs/carddav/updateVCard.md @@ -23,6 +23,7 @@ const result = updateVCard({ - `vCard` **required**, [DAVVCard](../types/DAVVCard.md) to update - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/helpers/requestHelpers.md b/docs/docs/helpers/requestHelpers.md index 9bdacf2..e9bf3b6 100644 --- a/docs/docs/helpers/requestHelpers.md +++ b/docs/docs/helpers/requestHelpers.md @@ -28,3 +28,9 @@ Convert `DAVNamespace` to intended format to be consumed by `xml-js` to be used Clean up `falsy` values within an object, this is useful when sending headers, Where undefined object property will cause an error. + +### excludeHeaders + +Remove header value by its key value + +useful when sending headers diff --git a/docs/docs/intro.md b/docs/docs/intro.md index 6740e39..d452972 100644 --- a/docs/docs/intro.md +++ b/docs/docs/intro.md @@ -17,8 +17,8 @@ It's very common to be used for cloud storage(limited support), as well as calen | Fastmail | ✅ | ✅ | ✅ | | Nextcloud | ✅ | ✅ | ✅ | | Baikal | ✅ | ✅ | ✅ | -| ZOHO | ✅ | ✅ | ❎ | -| DAViCal | ✅ | ✅ | ❎ | +| ZOHO | ✅ | ✅ | ⛔️ | +| DAViCal | ✅ | ✅ | ⛔️ | For more information on cloud providers, go to [cloud providers](./cloud%20providers.md) for more information. diff --git a/docs/docs/types/DAVRequest.md b/docs/docs/types/DAVRequest.md index 8b942d7..b4daadc 100644 --- a/docs/docs/types/DAVRequest.md +++ b/docs/docs/types/DAVRequest.md @@ -11,6 +11,7 @@ export type DAVRequest = { [davRequest](../webdav/davRequest.md) init body - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude - `method` request method - `body` request body - `namespace` default namespace for all xml nodes diff --git a/docs/docs/webdav/account/createAccount.md b/docs/docs/webdav/account/createAccount.md index bb67bba..0160492 100644 --- a/docs/docs/webdav/account/createAccount.md +++ b/docs/docs/webdav/account/createAccount.md @@ -22,6 +22,7 @@ const account = await createAccount({ - `account` **required**, account with `serverUrl` and `accountType` - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude - `loadCollections` defaults to false, whether to load all collections of the account - `loadObjects` defaults to false, whether to load all objects of collections as well, must be used with `loadCollections` set to `true` diff --git a/docs/docs/webdav/account/fetchHomeUrl.md b/docs/docs/webdav/account/fetchHomeUrl.md index 2d58f26..0128da5 100644 --- a/docs/docs/webdav/account/fetchHomeUrl.md +++ b/docs/docs/webdav/account/fetchHomeUrl.md @@ -24,6 +24,7 @@ const url = await fetchHomeUrl({ - `account` **required**, account with `principalUrl` and `accountType` - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/account/fetchPrincipalUrl.md b/docs/docs/webdav/account/fetchPrincipalUrl.md index e486cd4..ddcdd21 100644 --- a/docs/docs/webdav/account/fetchPrincipalUrl.md +++ b/docs/docs/webdav/account/fetchPrincipalUrl.md @@ -23,6 +23,7 @@ const url = await fetchPrincipalUrl({ - `account` **required**, account with `rootUrl` and `accountType` - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/account/serviceDiscovery.md b/docs/docs/webdav/account/serviceDiscovery.md index ec7163f..4be3251 100644 --- a/docs/docs/webdav/account/serviceDiscovery.md +++ b/docs/docs/webdav/account/serviceDiscovery.md @@ -19,6 +19,7 @@ const url = await serviceDiscovery({ - `account` **required**, account with `serverUrl` and `accountType` - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/collection/collectionQuery.md b/docs/docs/webdav/collection/collectionQuery.md index 3c39881..c51b0db 100644 --- a/docs/docs/webdav/collection/collectionQuery.md +++ b/docs/docs/webdav/collection/collectionQuery.md @@ -37,6 +37,7 @@ const result = await collectionQuery({ - `depth` [DAVDepth](../../types/DAVDepth.md) - `defaultNamespace` defaults to `DAVNamespaceShort.DAV`, default namespace for the the request body - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/collection/isCollectionDirty.md b/docs/docs/webdav/collection/isCollectionDirty.md index 406a3c1..c7d8545 100644 --- a/docs/docs/webdav/collection/isCollectionDirty.md +++ b/docs/docs/webdav/collection/isCollectionDirty.md @@ -19,6 +19,7 @@ const { isDirty, newCtag } = await isCollectionDirty({ - `collection` **required**, [DAVCollection](../../types/DAVCollection.md) to detect - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/collection/makeCollection.md b/docs/docs/webdav/collection/makeCollection.md index 5e47b7e..6d379ee 100644 --- a/docs/docs/webdav/collection/makeCollection.md +++ b/docs/docs/webdav/collection/makeCollection.md @@ -25,6 +25,7 @@ const response = await makeCollection({ - `props` [ElementCompact](../../types/ElementCompact.md) prop for the collection - `depth` [DAVDepth](../../types/DAVDepth.md) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/collection/smartCollectionSync.md b/docs/docs/webdav/collection/smartCollectionSync.md index e6ec1ef..fa5bb9c 100644 --- a/docs/docs/webdav/collection/smartCollectionSync.md +++ b/docs/docs/webdav/collection/smartCollectionSync.md @@ -43,6 +43,7 @@ const { created, updated, deleted } = ( - `account` [DAVAccount](../../types/DAVAccount.md) to sync - `detailedResult` boolean indicate whether the return value should be detailed or not - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude :::info `objects` inside `collection` are not needed when `detailedResult` is `true`. diff --git a/docs/docs/webdav/collection/supportedReportSet.md b/docs/docs/webdav/collection/supportedReportSet.md index a5d8a60..30e9072 100644 --- a/docs/docs/webdav/collection/supportedReportSet.md +++ b/docs/docs/webdav/collection/supportedReportSet.md @@ -19,6 +19,7 @@ const reports = await supportedReportSet({ - `collection` **required**, [DAVCollection](../../types/DAVCollection.md) to query on - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/collection/syncCollection.md b/docs/docs/webdav/collection/syncCollection.md index a1f8eed..bccdeea 100644 --- a/docs/docs/webdav/collection/syncCollection.md +++ b/docs/docs/webdav/collection/syncCollection.md @@ -29,6 +29,7 @@ const result = await syncCollection({ - `syncLevel` [Indicates the "scope" of the synchronization report request](https://datatracker.ietf.org/doc/html/rfc6578#section-6.3) - `syncToken` [The synchronization token provided by the server and returned by the client](https://datatracker.ietf.org/doc/html/rfc6578#section-6.2) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/createObject.md b/docs/docs/webdav/createObject.md index d17fa92..ddc8668 100644 --- a/docs/docs/webdav/createObject.md +++ b/docs/docs/webdav/createObject.md @@ -22,6 +22,7 @@ const response = await createObject({ - `url` **required**, object url - `data` **required**, object data - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/deleteObject.md b/docs/docs/webdav/deleteObject.md index 8ccfba4..a738e79 100644 --- a/docs/docs/webdav/deleteObject.md +++ b/docs/docs/webdav/deleteObject.md @@ -21,6 +21,7 @@ const response = await deleteObject({ - `url` **required**, url of object to delete - `etag` the version string of content, if [etag](https://tools.ietf.org/id/draft-reschke-http-etag-on-write-08.html) changed, `data` must have been changed. - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/propfind.md b/docs/docs/webdav/propfind.md index 029fd55..4a5c20a 100644 --- a/docs/docs/webdav/propfind.md +++ b/docs/docs/webdav/propfind.md @@ -22,6 +22,7 @@ const [result] = await propfind({ - `props` **required**, [ElementCompact](../types/ElementCompact.md) props to find - `depth` [DAVDepth](../types/DAVDepth.md) - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docs/webdav/updateObject.md b/docs/docs/webdav/updateObject.md index f582341..d709f18 100644 --- a/docs/docs/webdav/updateObject.md +++ b/docs/docs/webdav/updateObject.md @@ -24,6 +24,7 @@ const response = await updateObject({ - `data` **required**, new object content - `etag` the version string of content, if [etag](https://tools.ietf.org/id/draft-reschke-http-etag-on-write-08.html) changed, `data` must have been changed. - `headers` request headers +- `headersToExclude` array of keys of the headers you want to exclude ### Return Value diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 2505fa9..1b3eaf5 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -44,8 +44,8 @@ module.exports = { copyright: `© ${new Date().getFullYear()} Nathaniel Lin. MIT licensed.`, }, prism: { - theme: require('prism-react-renderer/themes/github'), - darkTheme: require('prism-react-renderer/themes/dracula'), + theme: require('prism-react-renderer').themes.github, + darkTheme: require('prism-react-renderer').themes.dracula, }, }, presets: [ @@ -59,7 +59,7 @@ module.exports = { lastVersion: 'current', versions: { current: { - label: '2.0.6', + label: '2.0.7', }, '1.1.6': { label: '1.1.6', diff --git a/docs/package.json b/docs/package.json index f3dd1e0..0c2f426 100644 --- a/docs/package.json +++ b/docs/package.json @@ -27,14 +27,15 @@ ] }, "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/preset-classic": "2.4.1", - "@easyops-cn/docusaurus-search-local": "0.35.0", - "@mdx-js/react": "1.6.22", - "@svgr/webpack": "6.2.1", + "@docusaurus/core": "3.0.1", + "@docusaurus/preset-classic": "3.0.1", + "@easyops-cn/docusaurus-search-local": "0.38.1", + "@mdx-js/react": "3.0.0", + "@svgr/webpack": "8.1.0", "buffer": "6.0.3", - "clsx": "1.2.1", + "clsx": "2.0.0", "file-loader": "6.2.0", + "prism-react-renderer": "2.3.0", "react": "18.2.0", "react-dom": "18.2.0", "stream-browserify": "3.0.0", @@ -42,11 +43,11 @@ "xml-js": "1.6.11" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.4.1", - "@tsconfig/docusaurus": "1.0.7", - "@types/react": "18.2.14", - "@types/react-helmet": "6.1.6", + "@docusaurus/module-type-aliases": "3.0.1", + "@tsconfig/docusaurus": "2.0.2", + "@types/react": "18.2.45", + "@types/react-helmet": "6.1.11", "@types/react-router-dom": "5.3.3", - "typescript": "5.1.3" + "typescript": "5.3.3" } } diff --git a/docs/yarn.lock b/docs/yarn.lock index a751269..056d8fc 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -29,225 +29,114 @@ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== -"@algolia/cache-browser-local-storage@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.2.tgz#62935ddb81b50d539111b2146fa340495ec1cd53" - integrity sha512-z8LjFsQc0B6h6LEE3pkUGM4ErVktn6bkFbhnYbTccjmFVQ+wXFJd/D63e0WtaC+hwRB1xq8uKhkz9oojEKEsGA== - dependencies: - "@algolia/cache-common" "4.12.2" - -"@algolia/cache-browser-local-storage@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.18.0.tgz#7bc0c9d8d346ed01384f4cf0dfaf6ba29ad5c20c" - integrity sha512-rUAs49NLlO8LVLgGzM4cLkw8NJLKguQLgvFmBEe3DyzlinoqxzQMHfKZs6TSq4LZfw/z8qHvRo8NcTAAUJQLcw== - dependencies: - "@algolia/cache-common" "4.18.0" - -"@algolia/cache-common@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.12.2.tgz#8512f311524f4d0aae8611e9879214a5e2a577ae" - integrity sha512-r//r7MF0Na0HxD2BHnjWsDKuI72Z5UEf/Rb/8MC08XKBsjCwBihGxWxycjRcNGjNEIxJBsvRMIEOipcd9qD54g== - -"@algolia/cache-common@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.18.0.tgz#aac33afac53e191c595d14a4bb7e6d81aae4836f" - integrity sha512-BmxsicMR4doGbeEXQu8yqiGmiyvpNvejYJtQ7rvzttEAMxOPoWEHrWyzBQw4x7LrBY9pMrgv4ZlUaF8PGzewHg== - -"@algolia/cache-in-memory@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.12.2.tgz#cacd13c02a7826bfad1c391d012ce00bc5db3859" - integrity sha512-opWpbBUloP1fcTG3wBDnAfcoyNXW5GFDgGtLXrSANdfnelPKkr3O8j01ZTkRlPIuBDR0izGZG8MVWMDlTf71Bw== - dependencies: - "@algolia/cache-common" "4.12.2" - -"@algolia/cache-in-memory@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.18.0.tgz#9a40294c734819724a1b4e86afd5a7d4be9bcc2f" - integrity sha512-evD4dA1nd5HbFdufBxLqlJoob7E2ozlqJZuV3YlirNx5Na4q1LckIuzjNYZs2ddLzuTc/Xd5O3Ibf7OwPskHxw== - dependencies: - "@algolia/cache-common" "4.18.0" - -"@algolia/client-account@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.12.2.tgz#adc4833b78576d1558ba45b7d44be22747debdc9" - integrity sha512-HZqEyeVVjzOlfoSUyc+7+ueEJmRgqSuC+hqQOGECYa5JVno4d8eRVuDAMOb87I2LOdg/WoFMcAtaaRq2gpfV/w== - dependencies: - "@algolia/client-common" "4.12.2" - "@algolia/client-search" "4.12.2" - "@algolia/transporter" "4.12.2" - -"@algolia/client-account@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.18.0.tgz#202d9e06b41e06e45cb919107bed0a65106883cc" - integrity sha512-XsDnlROr3+Z1yjxBJjUMfMazi1V155kVdte6496atvBgOEtwCzTs3A+qdhfsAnGUvaYfBrBkL0ThnhMIBCGcew== - dependencies: - "@algolia/client-common" "4.18.0" - "@algolia/client-search" "4.18.0" - "@algolia/transporter" "4.18.0" - -"@algolia/client-analytics@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.12.2.tgz#741115db1af7db9526acdd702890480480dc09ce" - integrity sha512-7ktimzesu+vk3l+eG9w/nQh6/9AoIieCKmoiRIguKh6okGsaSBrcTHvUwIQEIiliqPuAFBk2M8eXYFqOZzwCZw== - dependencies: - "@algolia/client-common" "4.12.2" - "@algolia/client-search" "4.12.2" - "@algolia/requester-common" "4.12.2" - "@algolia/transporter" "4.12.2" - -"@algolia/client-analytics@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.18.0.tgz#030b026bd9c13cb15437e35e4456bde25b0f1298" - integrity sha512-chEUSN4ReqU7uRQ1C8kDm0EiPE+eJeAXiWcBwLhEynfNuTfawN9P93rSZktj7gmExz0C8XmkbBU19IQ05wCNrQ== - dependencies: - "@algolia/client-common" "4.18.0" - "@algolia/client-search" "4.18.0" - "@algolia/requester-common" "4.18.0" - "@algolia/transporter" "4.18.0" - -"@algolia/client-common@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.12.2.tgz#88ffd3ddececdc5f343a4a9cb1f6c4058fe780c1" - integrity sha512-+dTicT1lklwOpeoiDspUoRSQYHhrr2IzllrX89/WuTPEBm2eww1xurqrSTQYC0MuVeX1s9/i4k34Q0ZnspypWg== - dependencies: - "@algolia/requester-common" "4.12.2" - "@algolia/transporter" "4.12.2" - -"@algolia/client-common@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.18.0.tgz#e080c393e1becdd5f5f008815c57d3248d3a8483" - integrity sha512-7N+soJFP4wn8tjTr3MSUT/U+4xVXbz4jmeRfWfVAzdAbxLAQbHa0o/POSdTvQ8/02DjCLelloZ1bb4ZFVKg7Wg== - dependencies: - "@algolia/requester-common" "4.18.0" - "@algolia/transporter" "4.18.0" - -"@algolia/client-personalization@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.12.2.tgz#5aa1d2a4bbc64559a98bb6d029dda59dbc86e490" - integrity sha512-JBW3vYFGIm5sAAy3cLUdmUCpmSAdreo5S1fERg7xgF6KyxGrwyy5BViTNWrOKG+av2yusk1wKydOYJ1Fbpbaxw== - dependencies: - "@algolia/client-common" "4.12.2" - "@algolia/requester-common" "4.12.2" - "@algolia/transporter" "4.12.2" - -"@algolia/client-personalization@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.18.0.tgz#9042ce2773120158ad25e1dfb28d706cebb48dc2" - integrity sha512-+PeCjODbxtamHcPl+couXMeHEefpUpr7IHftj4Y4Nia1hj8gGq4VlIcqhToAw8YjLeCTfOR7r7xtj3pJcYdP8A== - dependencies: - "@algolia/client-common" "4.18.0" - "@algolia/requester-common" "4.18.0" - "@algolia/transporter" "4.18.0" - -"@algolia/client-search@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.12.2.tgz#940dd07ae4fa7aa86e382ecaf0a82445010b1b4c" - integrity sha512-JIqi14TgfEqAooNbSPBC1ZCk3Pnviqlaz9KofAqWBxSRTpPUFnU/XQCU5ihR0PC68SFVDnU/Y9cak/XotXPUeg== - dependencies: - "@algolia/client-common" "4.12.2" - "@algolia/requester-common" "4.12.2" - "@algolia/transporter" "4.12.2" - -"@algolia/client-search@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.18.0.tgz#83b37aacbe254fd7892154fe7a8f0395bd01c682" - integrity sha512-F9xzQXTjm6UuZtnsLIew6KSraXQ0AzS/Ee+OD+mQbtcA/K1sg89tqb8TkwjtiYZ0oij13u3EapB3gPZwm+1Y6g== - dependencies: - "@algolia/client-common" "4.18.0" - "@algolia/requester-common" "4.18.0" - "@algolia/transporter" "4.18.0" +"@algolia/cache-browser-local-storage@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.21.1.tgz#ecd8e6fe9a6ecbb63c9c29a9574e47315846347e" + integrity sha512-vUkac/vgj8inyGR/IgunRjTOQ6IlBwl7afFkIfUZRqbqKKXBs+A/g5wgH+UnAlCSW8wjFRAIfCzuvSRb1/qjsQ== + dependencies: + "@algolia/cache-common" "4.21.1" + +"@algolia/cache-common@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.21.1.tgz#86b9f5c8b5c21b7a6479d388e04678408a449e65" + integrity sha512-HUo4fRk8KXFMyCASW0k+Kl8iXBoRPdqAjV9OVaFibTNg1dbwnpe6eIxbSTM6AJ2X82ic/8x3GuAO8zF/E515PA== + +"@algolia/cache-in-memory@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.21.1.tgz#dfd3249c4887250fdceb76191b05ba95b94821b3" + integrity sha512-+l2pLg6yIwRaGNtv41pGF/f/e9Qk80FeYE41f4OXS9lb5vpyrxzqM5nUaffWk/ZSFrPDuw5J2E226c//tIIffA== + dependencies: + "@algolia/cache-common" "4.21.1" + +"@algolia/client-account@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.21.1.tgz#60e5225ea4b4440219030775dcb1b9bd3ad92e54" + integrity sha512-AC6SjA9n38th73gAUqcjsuxNUChpwaflaAhPL0qO9cUICN67njpQrnYaoSVZ/yx0opG5zQFRKbpEcuPGj0XjhQ== + dependencies: + "@algolia/client-common" "4.21.1" + "@algolia/client-search" "4.21.1" + "@algolia/transporter" "4.21.1" + +"@algolia/client-analytics@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.21.1.tgz#400d7defd32e8312ccdf8cd41533055f5ab4f52a" + integrity sha512-q6AxvAcBl4fNZXZsMwRRQXcsxUv0PK5eUAz/lHDvgkMWAg6cP7Fl+WIq0fHcG7cJA4EHf2sT5fV6Z+yUlf7NfA== + dependencies: + "@algolia/client-common" "4.21.1" + "@algolia/client-search" "4.21.1" + "@algolia/requester-common" "4.21.1" + "@algolia/transporter" "4.21.1" + +"@algolia/client-common@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.21.1.tgz#20798c96c1d45078648bf28dfb84e50cd13a5d94" + integrity sha512-LOH7ncYwY/x7epOgxc/MIuV7m3qzl00wIjDG5/9rgImFpkV0X+D/ndJI9DmPsIx7yaTLd5xv/XYuKLcvrUR0eQ== + dependencies: + "@algolia/requester-common" "4.21.1" + "@algolia/transporter" "4.21.1" + +"@algolia/client-personalization@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.21.1.tgz#55ed8edb8258b2f4b05bfc37d454dca9209bb106" + integrity sha512-u2CyQjHbyVwPqM5eSXd/o+rh1Pk949P/MO6s+OxyEGg6/R2YpYvmsafVZl9Q+xqT8pFaf5QygfcqlSdMUDHV5Q== + dependencies: + "@algolia/client-common" "4.21.1" + "@algolia/requester-common" "4.21.1" + "@algolia/transporter" "4.21.1" + +"@algolia/client-search@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.21.1.tgz#b08f6ccfaf404530e3e5a38e8492a635ff15153f" + integrity sha512-3KqSmMkQmF+ACY/Ms5TdcvrcK8iqgQP/N0EPnNUUP4LMUzAACpLLTdzA+AtCuc6oaz5ITtGJBVdPUljj5Jf/Lg== + dependencies: + "@algolia/client-common" "4.21.1" + "@algolia/requester-common" "4.21.1" + "@algolia/transporter" "4.21.1" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.12.2.tgz#cdc9a685d7cf356a4d9e5915f741f1ee1a6baade" - integrity sha512-iOiJAymLjq137G7+8EQuUEkrgta0cZGMg6scp8s4hJ+X6k+6By4nyptdkCWYwKLsW/Xy927QcIhGlkWV78vQIQ== +"@algolia/logger-common@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.21.1.tgz#b0979321592af12b986aea2b7ac4fc368920860f" + integrity sha512-9AyYpR2OO9vPkkDlpTtW2/6nX+RmMd7LUwzJiAF3uN+BYUiQqgXEp+oGaH8UC0dgetmK7wJO6hw4b39cnTdEpw== -"@algolia/logger-common@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.18.0.tgz#0e6a14e8b91fcb7861595169e1ca57cf219f8255" - integrity sha512-46etYgSlkoKepkMSyaoriSn2JDgcrpc/nkOgou/lm0y17GuMl9oYZxwKKTSviLKI5Irk9nSKGwnBTQYwXOYdRg== - -"@algolia/logger-console@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.12.2.tgz#d7348e41378fbab5413cb5f97d8ae2ff378cfdb8" - integrity sha512-veuQZyTSqHoHJtr9mLMnYeal9Mee6hCie4eqY+645VbeOrgT9p/kCMbKg5GLJGoLPlXGu7C0XpHyUj5k7/NQyw== - dependencies: - "@algolia/logger-common" "4.12.2" - -"@algolia/logger-console@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.18.0.tgz#3636e4b3e2154ee2ee2db2e5be2857203c9f7047" - integrity sha512-3P3VUYMl9CyJbi/UU1uUNlf6Z8N2ltW3Oqhq/nR7vH0CjWv32YROq3iGWGxB2xt3aXobdUPXs6P0tHSKRmNA6g== - dependencies: - "@algolia/logger-common" "4.18.0" - -"@algolia/requester-browser-xhr@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.2.tgz#abfcb1901602ccdf51879b10d914208b776aa418" - integrity sha512-FpFdHNd81tS3zj6Glqd+lt+RV0ljPExKtx+QB+gani6HWZ9YlSCM+Zl82T4ibxN+hmkrMeAyT+TMzS0jiGhGyQ== - dependencies: - "@algolia/requester-common" "4.12.2" - -"@algolia/requester-browser-xhr@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.18.0.tgz#90ac575946e0ab196cdd87593b3fed563a32a9af" - integrity sha512-/AcWHOBub2U4TE/bPi4Gz1XfuLK6/7dj4HJG+Z2SfQoS1RjNLshZclU3OoKIkFp8D2NC7+BNsPvr9cPLyW8nyQ== +"@algolia/logger-console@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.21.1.tgz#59bdceab3d93ed478e4cb61cfe8f951cb9ef1487" + integrity sha512-9wizQiQ8kL4DiBmT82i403UwacNuv+0hpfsfaWYZQrGjpzG+yvXETWM4AgwFZLj007esuKQiGfOPUoYFZNkGGA== dependencies: - "@algolia/requester-common" "4.18.0" - -"@algolia/requester-common@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.12.2.tgz#6d6181fb961205695bf535e108d2e5be8f8c9047" - integrity sha512-4szj/lvDQf/u8EyyRBBRZD1ZkKDyLBbckLj7meQDlnbfwnW1UpLwpB2l3XJ9wDmDSftGxUCeTl5oMFe4z9OEvQ== - -"@algolia/requester-common@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.18.0.tgz#12984aa4b10679ffa863536ceeae33cdd0ee4d42" - integrity sha512-xlT8R1qYNRBCi1IYLsx7uhftzdfsLPDGudeQs+xvYB4sQ3ya7+ppolB/8m/a4F2gCkEO6oxpp5AGemM7kD27jA== + "@algolia/logger-common" "4.21.1" -"@algolia/requester-node-http@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.12.2.tgz#f91e749ee6854c944cc741f13c539dff23363f67" - integrity sha512-UXfJNZt2KMwjBjiOa3cJ/PyoXWZa/F1vy6rdyG4xQeZDcLbqKP3O2b+bOJcGPmFbmdwBhtAyMVLt+hvAvAVfOw== +"@algolia/requester-browser-xhr@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.21.1.tgz#c841a76f64171d3b892aea16e23d819b7f6a8e0a" + integrity sha512-9NudesJLuXtRHV+JD8fTkrsdVj/oAPQbtLnxBbSQeMduzV6+a7W+G9VuWo5fwFymCdXR8/Hb6jy8D1owQIq5Gw== dependencies: - "@algolia/requester-common" "4.12.2" + "@algolia/requester-common" "4.21.1" -"@algolia/requester-node-http@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.18.0.tgz#8046b141c784cc7778bcf51e8a7888cce463754b" - integrity sha512-TGfwj9aeTVgOUhn5XrqBhwUhUUDnGIKlI0kCBMdR58XfXcfdwomka+CPIgThRbfYw04oQr31A6/95ZH2QVJ9UQ== - dependencies: - "@algolia/requester-common" "4.18.0" +"@algolia/requester-common@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.21.1.tgz#5fd9acce9faa8b931f91b0e86e384956874c3c43" + integrity sha512-KtX2Ep3C43XxoN3xKw755cdf9enE6gPgzh6ufZQRJBl4rYCOoXbiREU6noDYX/Nq+Q+sl03V37WAp0YgtIlh9g== -"@algolia/transporter@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.12.2.tgz#60189b626b170f3386deb1d7a0a1e70ed8156864" - integrity sha512-PUq79if4CukXsm27ymTQ3eD3juSvMcyJmt6mxCkSFE0zQRL4ert61HBlNH6S9y/quUVe3g7oggfHq3d5pdpqZA== +"@algolia/requester-node-http@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.21.1.tgz#a39a0003e7697009da032238d2b3134a65ec9fae" + integrity sha512-EcD8cY6Bh2iMySpqXglTKU9+pt+km1ws3xF0V7CGMIUzW1HmN/ZVhi4apCBY4tEMytbyARv0XRTPsolSC4gSSw== dependencies: - "@algolia/cache-common" "4.12.2" - "@algolia/logger-common" "4.12.2" - "@algolia/requester-common" "4.12.2" + "@algolia/requester-common" "4.21.1" -"@algolia/transporter@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.18.0.tgz#18de645c20fc5703196b2ad4fec55e98c315a1d8" - integrity sha512-xbw3YRUGtXQNG1geYFEDDuFLZt4Z8YNKbamHPkzr3rWc6qp4/BqEeXcI2u/P/oMq2yxtXgMxrCxOPA8lyIe5jw== +"@algolia/transporter@4.21.1": + version "4.21.1" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.21.1.tgz#ffe43fb9d03c042aed89cec793687a41278fd35e" + integrity sha512-KGLFKz8krzOWRwcbR4FT49Grh1dES/mG8dHABEojbvrfUb6kUFxkAee/aezp2GIxuNx+gpQjRn1IzOsqbUZL0A== dependencies: - "@algolia/cache-common" "4.18.0" - "@algolia/logger-common" "4.18.0" - "@algolia/requester-common" "4.18.0" - -"@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" + "@algolia/cache-common" "4.21.1" + "@algolia/logger-common" "4.21.1" + "@algolia/requester-common" "4.21.1" "@ampproject/remapping@^2.2.0": version "2.2.1" @@ -257,13 +146,21 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^7.16.7" +"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + "@babel/code-frame@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" @@ -271,95 +168,33 @@ dependencies: "@babel/highlight" "^7.22.5" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" - integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== - -"@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== - -"@babel/compat-data@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" - integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== - -"@babel/core@7.12.9": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" - integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.7" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.9" - "@babel/types" "^7.12.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.15.5": - version "7.17.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" - integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.3" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.18.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.5.tgz#d67d9747ecf26ee7ecd3ebae1ee22225fe902a89" - integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg== +"@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4" + integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helpers" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - convert-source-map "^1.7.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.6" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.12.5", "@babel/generator@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.18.7", "@babel/generator@^7.22.5": +"@babel/generator@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== @@ -369,12 +204,15 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== +"@babel/generator@^7.23.3", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" @@ -383,64 +221,38 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" - integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" + "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz#fc7319fc54c5e2fa14b2909cf3c5fd3046813e02" - integrity sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw== +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/compat-data" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - browserslist "^4.21.3" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" lru-cache "^5.1.1" - semver "^6.3.0" + semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" - integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== +"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz#b04d915ce92ce363666f816a884cdcfc9be04953" + integrity sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.22.5": version "7.22.5" @@ -457,14 +269,6 @@ "@babel/helper-split-export-declaration" "^7.22.5" semver "^6.3.0" -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz#bb2bf0debfe39b831986a4efbf4066586819c6e4" @@ -474,60 +278,36 @@ regexpu-core "^5.3.1" semver "^6.3.0" -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== +"@babel/helper-create-regexp-features-plugin@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz#487053f103110f25b9755c5980e031e93ced24d8" - integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg== +"@babel/helper-define-polyfill-provider@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" + integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" - semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== "@babel/helper-environment-visitor@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - "@babel/helper-function-name@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" @@ -536,19 +316,13 @@ "@babel/template" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: - "@babel/types" "^7.16.7" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" @@ -557,12 +331,12 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.23.0" "@babel/helper-member-expression-to-functions@^7.22.5": version "7.22.5" @@ -571,12 +345,12 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.22.15" "@babel/helper-module-imports@^7.22.5": version "7.22.5" @@ -585,20 +359,6 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" - integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - "@babel/helper-module-transforms@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" @@ -613,12 +373,16 @@ "@babel/traverse" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: - "@babel/types" "^7.16.7" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" @@ -627,12 +391,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== @@ -642,35 +401,23 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-remap-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" - integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-wrap-function" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-replace-supers@^7.22.5": version "7.22.5" @@ -684,13 +431,6 @@ "@babel/traverse" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-simple-access@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" @@ -698,13 +438,6 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" @@ -712,13 +445,6 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-split-export-declaration@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" @@ -726,68 +452,65 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-string-parser@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + "@babel/helper-validator-identifier@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-validator-option@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-wrap-function@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz#44d205af19ed8d872b4eefb0d2fa65f45eb34f06" - integrity sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw== +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== dependencies: "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helpers@^7.12.5", "@babel/helpers@^7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" - integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" -"@babel/helpers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.5.tgz#74bb4373eb390d1ceed74a15ef97767e63120820" - integrity sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q== +"@babel/helpers@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" + integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" "@babel/highlight@^7.16.7": version "7.16.10" @@ -807,190 +530,54 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.12.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" - integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.22.15", "@babel/parser@^7.22.7", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== -"@babel/parser@^7.18.8", "@babel/parser@^7.22.5": +"@babel/parser@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" - integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz#fef09f9499b1f1c930da8a0c419db42167d792ca" - integrity sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.5" - -"@babel/plugin-proposal-async-generator-functions@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-transform-optional-chaining" "^7.23.3" -"@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" - integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.6" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" + integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" - -"@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" - integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== - dependencies: - "@babel/compat-data" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -1026,17 +613,17 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1054,20 +641,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" - integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-jsx@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" - integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-jsx@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" @@ -1075,6 +648,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -1096,7 +676,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -1131,13 +711,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" - integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-typescript@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" @@ -1145,6 +718,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" @@ -1153,316 +733,187 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz#7336356d23380eda9a56314974f053a020dab0c3" - integrity sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg== +"@babel/plugin-transform-async-generator-functions@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" + integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== - dependencies: - "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz#8bfc793b3a4b2742c0983fadc1480d843ecea31b" - integrity sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg== +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-static-block@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz#3e40c46f048403472d6f4183116d5e46b1bff5ba" - integrity sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA== +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz#635d4e98da741fad814984639f4c0149eb0135e1" - integrity sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ== +"@babel/plugin-transform-classes@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2" + integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" + "@babel/template" "^7.22.15" -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz#c445f75819641788a27a0a3a759d9df911df6abc" - integrity sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz#d3aca7438f6c26c78cdd0b0ba920a336001b27cc" - integrity sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ== +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dynamic-import@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz#d6908a8916a810468c4edff73b5b75bda6ad393e" - integrity sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ== +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-export-namespace-from@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz#57c41cb1d0613d22f548fddd8b288eedb9973a5b" - integrity sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg== +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-for-of@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz#ab1b8a200a8f990137aff9a084f8de4099ab173f" - integrity sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A== +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-json-strings@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz#14b64352fdf7e1f737eed68de1a1468bd2a77ec0" - integrity sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A== +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-logical-assignment-operators@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz#66ae5f068fd5a9a5dc570df16f56c2a8462a9d6c" - integrity sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA== +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-amd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" - integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - "@babel/plugin-transform-modules-commonjs@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" @@ -1472,50 +923,33 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz#18c31410b5e579a0092638f95c896c2a98a5d496" - integrity sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ== +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== dependencies: "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" @@ -1524,139 +958,103 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz#f8872c65776e0b552e0849d7596cddd416c3e381" - integrity sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz#57226a2ed9e512b9b446517ab6fa2d17abb83f58" - integrity sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g== +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1" - integrity sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ== +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: - "@babel/compat-data" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.5" + "@babel/plugin-transform-parameters" "^7.23.3" -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" -"@babel/plugin-transform-optional-catch-binding@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz#842080be3076703be0eaf32ead6ac8174edee333" - integrity sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg== +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz#1003762b9c14295501beb41be72426736bedd1e0" - integrity sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ== +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" - integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-property-in-object@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz#07a77f28cbb251546a43d175a1dda4cf3ef83e32" - integrity sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ== +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-constant-elements@^7.14.5": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.17.6.tgz#6cc273c2f612a6a50cb657e63ee1303e5e68d10a" - integrity sha512-OBv9VkyyKtsHZiHLoSfCn+h6yU7YKX8nrs32xUmOa1SRSk+t03FosB6fBZ0Yz4BpD1WV7l73Nsad+2Tz7APpqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-display-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" - integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== +"@babel/plugin-transform-react-constant-elements@^7.18.12", "@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" + integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.22.5": version "7.22.5" @@ -1665,12 +1063,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-jsx-development@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" - integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-development@^7.22.5": version "7.22.5" @@ -1679,16 +1077,16 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-react-jsx@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" - integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== +"@babel/plugin-transform-react-jsx@^7.22.15": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.16.7" - "@babel/types" "^7.17.0" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" "@babel/plugin-transform-react-jsx@^7.22.5": version "7.22.5" @@ -1701,14 +1099,6 @@ "@babel/plugin-syntax-jsx" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/plugin-transform-react-pure-annotations@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" - integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-react-pure-annotations@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" @@ -1717,127 +1107,76 @@ "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-regenerator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" - integrity sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.18.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz#ca975fb5e260044473c8142e1b18b567d33c2a3b" - integrity sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw== - dependencies: - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.3" - babel-plugin-polyfill-corejs3 "^0.8.1" - babel-plugin-polyfill-regenerator "^0.5.0" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + regenerator-transform "^0.15.2" -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== +"@babel/plugin-transform-runtime@^7.22.9": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.6.tgz#bf853cd0a675c16ee33e6ba2a63b536e75e5d754" + integrity sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg== dependencies: + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + semver "^6.3.1" -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.16.7": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" - integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-typescript" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typescript@^7.22.5": version "7.22.5" @@ -1849,151 +1188,67 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-typescript" "^7.22.5" -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" - integrity sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg== +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.15.6": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - -"@babel/preset-env@^7.18.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.5.tgz#3da66078b181f3d62512c51cf7014392c511504e" - integrity sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A== +"@babel/preset-env@^7.19.4", "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.6.tgz#ad0ea799d5a3c07db5b9a172819bbd444092187a" + integrity sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ== dependencies: - "@babel/compat-data" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -2005,85 +1260,70 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.5" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.5" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.5" - "@babel/plugin-transform-classes" "^7.22.5" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.5" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.5" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.5" - "@babel/plugin-transform-for-of" "^7.22.5" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.5" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.5" - "@babel/plugin-transform-modules-systemjs" "^7.22.5" - "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.4" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.5" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" - "@babel/plugin-transform-numeric-separator" "^7.22.5" - "@babel/plugin-transform-object-rest-spread" "^7.22.5" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.5" - "@babel/plugin-transform-parameters" "^7.22.5" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.5" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.5" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.5" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.3" - babel-plugin-polyfill-corejs3 "^0.8.1" - babel-plugin-polyfill-regenerator "^0.5.0" - core-js-compat "^3.30.2" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.14.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" - integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-react-display-name" "^7.16.7" - "@babel/plugin-transform-react-jsx" "^7.16.7" - "@babel/plugin-transform-react-jsx-development" "^7.16.7" - "@babel/plugin-transform-react-pure-annotations" "^7.16.7" - "@babel/preset-react@^7.18.6": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.5.tgz#c4d6058fbf80bccad02dd8c313a9aaa67e3c3dd6" @@ -2096,14 +1336,17 @@ "@babel/plugin-transform-react-jsx-development" "^7.22.5" "@babel/plugin-transform-react-pure-annotations" "^7.22.5" -"@babel/preset-typescript@^7.15.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" - integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== +"@babel/preset-react@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.16.7" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" "@babel/preset-typescript@^7.18.6": version "7.22.5" @@ -2116,41 +1359,52 @@ "@babel/plugin-transform-modules-commonjs" "^7.22.5" "@babel/plugin-transform-typescript" "^7.22.5" +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + "@babel/regjsgen@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime-corejs3@^7.18.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.22.5.tgz#bbc769b48edb2bdfd404b65ad1fc3952bf33e3c2" - integrity sha512-TNPDN6aBFaUox2Lu+H/Y1dKKQgr4ucz/FGyCz67RVYLsBpVpUFf1dDngzg+Od8aqbrqwyztkaZjtWCZEUOT8zA== +"@babel/runtime-corejs3@^7.22.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.6.tgz#c25dd662fc205a03fdaefd122066eb9d4533ccf9" + integrity sha512-Djs/ZTAnpyj0nyg7p1J6oiE/tZ9G2stqAFlLGZynrW+F3k2w2jGK2mLOBxzYIOcZYA89+c3d3wXKpYLcpwcU6w== dependencies: core-js-pure "^3.30.2" - regenerator-runtime "^0.13.11" + regenerator-runtime "^0.14.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.18.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec" - integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== +"@babel/runtime@^7.22.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" + integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== dependencies: - regenerator-runtime "^0.13.11" + regenerator-runtime "^0.14.0" -"@babel/template@^7.12.7", "@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" "@babel/template@^7.22.5": version "7.22.5" @@ -2161,23 +1415,7 @@ "@babel/parser" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.18.8", "@babel/traverse@^7.22.5": +"@babel/traverse@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== @@ -2193,12 +1431,29 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/traverse@^7.22.8", "@babel/traverse@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" + integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.20.0", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" "@babel/types@^7.22.5": @@ -2210,151 +1465,171 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@babel/types@^7.4.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@docsearch/css@3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.1.tgz#4adf9884735bbfea621c3716e80ea97baa419b73" - integrity sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA== +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@docsearch/css@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== -"@docsearch/react@^3.1.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.1.tgz#35f4a75f948211d8bb6830d2147c575f96a85274" - integrity sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ== +"@docsearch/react@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== dependencies: "@algolia/autocomplete-core" "1.9.3" "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.1" - algoliasearch "^4.0.0" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" -"@docusaurus/core@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.4.1.tgz#4b8ff5766131ce3fbccaad0b1daf2ad4dc76f62d" - integrity sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g== +"@docusaurus/core@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.0.1.tgz#ad9a66b20802ea81b25e65db75d4ca952eda7e01" + integrity sha512-CXrLpOnW+dJdSv8M5FAJ3JBwXtL6mhUWxFA8aS0ozK6jBG/wgxERk5uvH28fCeFxOGbAT9v1e9dOMo1X2IEVhQ== dependencies: - "@babel/core" "^7.18.6" - "@babel/generator" "^7.18.7" + "@babel/core" "^7.23.3" + "@babel/generator" "^7.23.3" "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.18.6" - "@babel/preset-env" "^7.18.6" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.18.6" - "@babel/runtime" "^7.18.6" - "@babel/runtime-corejs3" "^7.18.6" - "@babel/traverse" "^7.18.8" - "@docusaurus/cssnano-preset" "2.4.1" - "@docusaurus/logger" "2.4.1" - "@docusaurus/mdx-loader" "2.4.1" + "@babel/plugin-transform-runtime" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/preset-react" "^7.22.5" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@babel/runtime-corejs3" "^7.22.6" + "@babel/traverse" "^7.22.8" + "@docusaurus/cssnano-preset" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/mdx-loader" "3.0.1" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-common" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" - "@svgr/webpack" "^6.2.1" - autoprefixer "^10.4.7" - babel-loader "^8.2.5" + "@svgr/webpack" "^6.5.1" + autoprefixer "^10.4.14" + babel-loader "^9.1.3" babel-plugin-dynamic-import-node "^2.3.3" boxen "^6.2.1" chalk "^4.1.2" chokidar "^3.5.3" - clean-css "^5.3.0" - cli-table3 "^0.6.2" + clean-css "^5.3.2" + cli-table3 "^0.6.3" combine-promises "^1.1.0" commander "^5.1.0" copy-webpack-plugin "^11.0.0" - core-js "^3.23.3" - css-loader "^6.7.1" - css-minimizer-webpack-plugin "^4.0.0" - cssnano "^5.1.12" + core-js "^3.31.1" + css-loader "^6.8.1" + css-minimizer-webpack-plugin "^4.2.2" + cssnano "^5.1.15" del "^6.1.1" - detect-port "^1.3.0" + detect-port "^1.5.1" escape-html "^1.0.3" - eta "^2.0.0" + eta "^2.2.0" file-loader "^6.2.0" - fs-extra "^10.1.0" - html-minifier-terser "^6.1.0" - html-tags "^3.2.0" - html-webpack-plugin "^5.5.0" - import-fresh "^3.3.0" + fs-extra "^11.1.1" + html-minifier-terser "^7.2.0" + html-tags "^3.3.1" + html-webpack-plugin "^5.5.3" leven "^3.1.0" lodash "^4.17.21" - mini-css-extract-plugin "^2.6.1" - postcss "^8.4.14" - postcss-loader "^7.0.0" + mini-css-extract-plugin "^2.7.6" + postcss "^8.4.26" + postcss-loader "^7.3.3" prompts "^2.4.2" react-dev-utils "^12.0.1" react-helmet-async "^1.3.0" react-loadable "npm:@docusaurus/react-loadable@5.5.2" react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.3" + react-router "^5.3.4" react-router-config "^5.1.1" - react-router-dom "^5.3.3" + react-router-dom "^5.3.4" rtl-detect "^1.0.4" - semver "^7.3.7" - serve-handler "^6.1.3" + semver "^7.5.4" + serve-handler "^6.1.5" shelljs "^0.8.5" - terser-webpack-plugin "^5.3.3" - tslib "^2.4.0" - update-notifier "^5.1.0" + terser-webpack-plugin "^5.3.9" + tslib "^2.6.0" + update-notifier "^6.0.2" url-loader "^4.1.1" - wait-on "^6.0.1" - webpack "^5.73.0" - webpack-bundle-analyzer "^4.5.0" - webpack-dev-server "^4.9.3" - webpack-merge "^5.8.0" + webpack "^5.88.1" + webpack-bundle-analyzer "^4.9.0" + webpack-dev-server "^4.15.1" + webpack-merge "^5.9.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.1.tgz#eacadefb1e2e0f59df3467a0fe83e4ff79eed163" - integrity sha512-ka+vqXwtcW1NbXxWsh6yA1Ckii1klY9E53cJ4O9J09nkMBgrNX3iEFED1fWdv8wf4mJjvGi5RLZ2p9hJNjsLyQ== +"@docusaurus/cssnano-preset@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.0.1.tgz#22fbf2e97389e338747864baf011743846e8fd26" + integrity sha512-wjuXzkHMW+ig4BD6Ya1Yevx9UJadO4smNZCEljqBoQfIQrQskTswBs7lZ8InHP7mCt273a/y/rm36EZhqJhknQ== dependencies: - cssnano-preset-advanced "^5.3.8" - postcss "^8.4.14" - postcss-sort-media-queries "^4.2.1" - tslib "^2.4.0" + cssnano-preset-advanced "^5.3.10" + postcss "^8.4.26" + postcss-sort-media-queries "^4.4.1" + tslib "^2.6.0" -"@docusaurus/logger@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.4.1.tgz#4d2c0626b40752641f9fdd93ad9b5a7a0792f767" - integrity sha512-5h5ysIIWYIDHyTVd8BjheZmQZmEgWDR54aQ1BX9pjFfpyzFo5puKXKYrYJXbjEHGyVhEzmB9UXwbxGfaZhOjcg== +"@docusaurus/logger@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.0.1.tgz#06f512eef6c6ae4e2da63064257e01b1cdc41a82" + integrity sha512-I5L6Nk8OJzkVA91O2uftmo71LBSxe1vmOn9AMR6JRCzYeEBrqneWMH02AqMvjJ2NpMiviO+t0CyPjyYV7nxCWQ== dependencies: chalk "^4.1.2" - tslib "^2.4.0" + tslib "^2.6.0" -"@docusaurus/mdx-loader@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.4.1.tgz#6425075d7fc136dbfdc121349060cedd64118393" - integrity sha512-4KhUhEavteIAmbBj7LVFnrVYDiU51H5YWW1zY6SmBSte/YLhDutztLTBE0PQl1Grux1jzUJeaSvAzHpTn6JJDQ== - dependencies: - "@babel/parser" "^7.18.8" - "@babel/traverse" "^7.18.8" - "@docusaurus/logger" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@mdx-js/mdx" "^1.6.22" +"@docusaurus/mdx-loader@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.0.1.tgz#89f221e5bcc570983fd61d7ab56d6fbe36810b59" + integrity sha512-ldnTmvnvlrONUq45oKESrpy+lXtbnTcTsFkOTIDswe5xx5iWJjt6eSa0f99ZaWlnm24mlojcIGoUWNCS53qVlQ== + dependencies: + "@babel/parser" "^7.22.7" + "@babel/traverse" "^7.22.8" + "@docusaurus/logger" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + "@mdx-js/mdx" "^3.0.0" + "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" + estree-util-value-to-estree "^3.0.1" file-loader "^6.2.0" - fs-extra "^10.1.0" - image-size "^1.0.1" - mdast-util-to-string "^2.0.0" - remark-emoji "^2.2.0" + fs-extra "^11.1.1" + image-size "^1.0.2" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + rehype-raw "^7.0.0" + remark-directive "^3.0.0" + remark-emoji "^4.0.0" + remark-frontmatter "^5.0.0" + remark-gfm "^4.0.0" stringify-object "^3.3.0" - tslib "^2.4.0" - unified "^9.2.2" - unist-util-visit "^2.0.3" + tslib "^2.6.0" + unified "^11.0.3" + unist-util-visit "^5.0.0" url-loader "^4.1.1" - webpack "^5.73.0" + vfile "^6.0.1" + webpack "^5.88.1" -"@docusaurus/module-type-aliases@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.1.tgz#38b3c2d2ae44bea6d57506eccd84280216f0171c" - integrity sha512-gLBuIFM8Dp2XOCWffUDSjtxY7jQgKvYujt7Mx5s4FCTfoL5dN1EVbnrn+O2Wvh8b0a77D57qoIDY7ghgmatR1A== +"@docusaurus/module-type-aliases@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.0.1.tgz#d45990fe377d7ffaa68841cf89401188a5d65293" + integrity sha512-DEHpeqUDsLynl3AhQQiO7AbC7/z/lBra34jTcdYuvp9eGm01pfH1wTVq8YqWZq6Jyx0BgcVl/VJqtE9StRd9Ag== dependencies: "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.4.1" + "@docusaurus/types" "3.0.1" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -2362,139 +1637,140 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.1.tgz#c705a8b1a36a34f181dcf43b7770532e4dcdc4a3" - integrity sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/logger" "2.4.1" - "@docusaurus/mdx-loader" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-common" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" +"@docusaurus/plugin-content-blog@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.0.1.tgz#dee6147187c2d8b634252444d60312d12c9571a6" + integrity sha512-cLOvtvAyaMQFLI8vm4j26svg3ktxMPSXpuUJ7EERKoGbfpJSsgtowNHcRsaBVmfuCsRSk1HZ/yHBsUkTmHFEsg== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/mdx-loader" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" cheerio "^1.0.0-rc.12" feed "^4.2.2" - fs-extra "^10.1.0" + fs-extra "^11.1.1" lodash "^4.17.21" reading-time "^1.5.0" - tslib "^2.4.0" - unist-util-visit "^2.0.3" + srcset "^4.0.0" + tslib "^2.6.0" + unist-util-visit "^5.0.0" utility-types "^3.10.0" - webpack "^5.73.0" + webpack "^5.88.1" -"@docusaurus/plugin-content-docs@2.4.1", "@docusaurus/plugin-content-docs@^2.0.0-rc.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.1.tgz#ed94d9721b5ce7a956fb01cc06c40d8eee8dfca7" - integrity sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/logger" "2.4.1" - "@docusaurus/mdx-loader" "2.4.1" - "@docusaurus/module-type-aliases" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - "@types/react-router-config" "^5.0.6" +"@docusaurus/plugin-content-docs@3.0.1", "@docusaurus/plugin-content-docs@^2 || ^3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.0.1.tgz#d9b1884562186573d5c4521ac3546b68512c1126" + integrity sha512-dRfAOA5Ivo+sdzzJGXEu33yAtvGg8dlZkvt/NEJ7nwi1F2j4LEdsxtfX2GKeETB2fP6XoGNSQnFXqa2NYGrHFg== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/mdx-loader" "3.0.1" + "@docusaurus/module-type-aliases" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" - fs-extra "^10.1.0" - import-fresh "^3.3.0" + fs-extra "^11.1.1" js-yaml "^4.1.0" lodash "^4.17.21" - tslib "^2.4.0" + tslib "^2.6.0" utility-types "^3.10.0" - webpack "^5.73.0" - -"@docusaurus/plugin-content-pages@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.1.tgz#c534f7e49967699a45bbe67050d1605ebbf3d285" - integrity sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/mdx-loader" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - fs-extra "^10.1.0" - tslib "^2.4.0" - webpack "^5.73.0" + webpack "^5.88.1" -"@docusaurus/plugin-debug@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.4.1.tgz#461a2c77b0c5a91b2c05257c8f9585412aaa59dc" - integrity sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - fs-extra "^10.1.0" - react-json-view "^1.21.3" - tslib "^2.4.0" +"@docusaurus/plugin-content-pages@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.0.1.tgz#27e6424c77173f867760efe53f848bbab8849ea6" + integrity sha512-oP7PoYizKAXyEttcvVzfX3OoBIXEmXTMzCdfmC4oSwjG4SPcJsRge3mmI6O8jcZBgUPjIzXD21bVGWEE1iu8gg== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/mdx-loader" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + fs-extra "^11.1.1" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/plugin-debug@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.0.1.tgz#886b5dd03c066e970484ca251c1b79613df90700" + integrity sha512-09dxZMdATky4qdsZGzhzlUvvC+ilQ2hKbYF+wez+cM2mGo4qHbv8+qKXqxq0CQZyimwlAOWQLoSozIXU0g0i7g== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + fs-extra "^11.1.1" + react-json-view-lite "^1.2.0" + tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.1.tgz#30de1c35773bf9d52bb2d79b201b23eb98022613" - integrity sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ== +"@docusaurus/plugin-google-analytics@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.0.1.tgz#ec69902131ea3aad8b062eeb1d17bf0962986f80" + integrity sha512-jwseSz1E+g9rXQwDdr0ZdYNjn8leZBnKPjjQhMBEiwDoenL3JYFcNW0+p0sWoVF/f2z5t7HkKA+cYObrUh18gg== dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - tslib "^2.4.0" + "@docusaurus/core" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.1.tgz#6a3eb91022714735e625c7ca70ef5188fa7bd0dc" - integrity sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA== +"@docusaurus/plugin-google-gtag@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.1.tgz#bb5526377d3a324ebec235127846fda386562b05" + integrity sha512-UFTDvXniAWrajsulKUJ1DB6qplui1BlKLQZjX4F7qS/qfJ+qkKqSkhJ/F4VuGQ2JYeZstYb+KaUzUzvaPK1aRQ== dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - tslib "^2.4.0" + "@docusaurus/core" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + "@types/gtag.js" "^0.0.12" + tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.1.tgz#b99f71aec00b112bbf509ef2416e404a95eb607e" - integrity sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g== +"@docusaurus/plugin-google-tag-manager@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.0.1.tgz#4e36d13279cf90c2614b62438aa1109dd4696ec8" + integrity sha512-IPFvuz83aFuheZcWpTlAdiiX1RqWIHM+OH8wS66JgwAKOiQMR3+nLywGjkLV4bp52x7nCnwhNk1rE85Cpy/CIw== dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - tslib "^2.4.0" + "@docusaurus/core" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + tslib "^2.6.0" -"@docusaurus/plugin-sitemap@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.1.tgz#8a7a76ed69dc3e6b4474b6abb10bb03336a9de6d" - integrity sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/logger" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-common" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - fs-extra "^10.1.0" +"@docusaurus/plugin-sitemap@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.0.1.tgz#ab55857e90d4500f892e110b30e4bc3289202bd4" + integrity sha512-xARiWnjtVvoEniZudlCq5T9ifnhCu/GAZ5nA7XgyLfPcNpHQa241HZdsTlLtVcecEVVdllevBKOp7qknBBaMGw== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + fs-extra "^11.1.1" sitemap "^7.1.1" - tslib "^2.4.0" + tslib "^2.6.0" -"@docusaurus/preset-classic@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.4.1.tgz#072f22d0332588e9c5f512d4bded8d7c99f91497" - integrity sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/plugin-content-blog" "2.4.1" - "@docusaurus/plugin-content-docs" "2.4.1" - "@docusaurus/plugin-content-pages" "2.4.1" - "@docusaurus/plugin-debug" "2.4.1" - "@docusaurus/plugin-google-analytics" "2.4.1" - "@docusaurus/plugin-google-gtag" "2.4.1" - "@docusaurus/plugin-google-tag-manager" "2.4.1" - "@docusaurus/plugin-sitemap" "2.4.1" - "@docusaurus/theme-classic" "2.4.1" - "@docusaurus/theme-common" "2.4.1" - "@docusaurus/theme-search-algolia" "2.4.1" - "@docusaurus/types" "2.4.1" +"@docusaurus/preset-classic@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.0.1.tgz#d363ac837bba967095ed2a896d13c54f3717d6b5" + integrity sha512-il9m9xZKKjoXn6h0cRcdnt6wce0Pv1y5t4xk2Wx7zBGhKG1idu4IFHtikHlD0QPuZ9fizpXspXcTzjL5FXc1Gw== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/plugin-content-blog" "3.0.1" + "@docusaurus/plugin-content-docs" "3.0.1" + "@docusaurus/plugin-content-pages" "3.0.1" + "@docusaurus/plugin-debug" "3.0.1" + "@docusaurus/plugin-google-analytics" "3.0.1" + "@docusaurus/plugin-google-gtag" "3.0.1" + "@docusaurus/plugin-google-tag-manager" "3.0.1" + "@docusaurus/plugin-sitemap" "3.0.1" + "@docusaurus/theme-classic" "3.0.1" + "@docusaurus/theme-common" "3.0.1" + "@docusaurus/theme-search-algolia" "3.0.1" + "@docusaurus/types" "3.0.1" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -2504,142 +1780,142 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/theme-classic@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.4.1.tgz#0060cb263c1a73a33ac33f79bb6bc2a12a56ad9e" - integrity sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg== - dependencies: - "@docusaurus/core" "2.4.1" - "@docusaurus/mdx-loader" "2.4.1" - "@docusaurus/module-type-aliases" "2.4.1" - "@docusaurus/plugin-content-blog" "2.4.1" - "@docusaurus/plugin-content-docs" "2.4.1" - "@docusaurus/plugin-content-pages" "2.4.1" - "@docusaurus/theme-common" "2.4.1" - "@docusaurus/theme-translations" "2.4.1" - "@docusaurus/types" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-common" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - "@mdx-js/react" "^1.6.22" - clsx "^1.2.1" - copy-text-to-clipboard "^3.0.1" +"@docusaurus/theme-classic@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.0.1.tgz#3ba4dc77553d2c1608e433c0d01bed7c6db14eb9" + integrity sha512-XD1FRXaJiDlmYaiHHdm27PNhhPboUah9rqIH0lMpBt5kYtsGjJzhqa27KuZvHLzOP2OEpqd2+GZ5b6YPq7Q05Q== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/mdx-loader" "3.0.1" + "@docusaurus/module-type-aliases" "3.0.1" + "@docusaurus/plugin-content-blog" "3.0.1" + "@docusaurus/plugin-content-docs" "3.0.1" + "@docusaurus/plugin-content-pages" "3.0.1" + "@docusaurus/theme-common" "3.0.1" + "@docusaurus/theme-translations" "3.0.1" + "@docusaurus/types" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + "@mdx-js/react" "^3.0.0" + clsx "^2.0.0" + copy-text-to-clipboard "^3.2.0" infima "0.2.0-alpha.43" lodash "^4.17.21" nprogress "^0.2.0" - postcss "^8.4.14" - prism-react-renderer "^1.3.5" - prismjs "^1.28.0" - react-router-dom "^5.3.3" - rtlcss "^3.5.0" - tslib "^2.4.0" + postcss "^8.4.26" + prism-react-renderer "^2.3.0" + prismjs "^1.29.0" + react-router-dom "^5.3.4" + rtlcss "^4.1.0" + tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.4.1.tgz#03e16f7aa96455e952f3243ac99757b01a3c83d4" - integrity sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA== - dependencies: - "@docusaurus/mdx-loader" "2.4.1" - "@docusaurus/module-type-aliases" "2.4.1" - "@docusaurus/plugin-content-blog" "2.4.1" - "@docusaurus/plugin-content-docs" "2.4.1" - "@docusaurus/plugin-content-pages" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-common" "2.4.1" +"@docusaurus/theme-common@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.0.1.tgz#29a5bcb286296a52bc10afa5308e360cbed6b49c" + integrity sha512-cr9TOWXuIOL0PUfuXv6L5lPlTgaphKP+22NdVBOYah5jSq5XAAulJTjfe+IfLsEG4L7lJttLbhW7LXDFSAI7Ag== + dependencies: + "@docusaurus/mdx-loader" "3.0.1" + "@docusaurus/module-type-aliases" "3.0.1" + "@docusaurus/plugin-content-blog" "3.0.1" + "@docusaurus/plugin-content-docs" "3.0.1" + "@docusaurus/plugin-content-pages" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" - clsx "^1.2.1" + clsx "^2.0.0" parse-numeric-range "^1.3.0" - prism-react-renderer "^1.3.5" - tslib "^2.4.0" - use-sync-external-store "^1.2.0" + prism-react-renderer "^2.3.0" + tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.1.tgz#906bd2cca3fced0241985ef502c892f58ff380fc" - integrity sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ== - dependencies: - "@docsearch/react" "^3.1.1" - "@docusaurus/core" "2.4.1" - "@docusaurus/logger" "2.4.1" - "@docusaurus/plugin-content-docs" "2.4.1" - "@docusaurus/theme-common" "2.4.1" - "@docusaurus/theme-translations" "2.4.1" - "@docusaurus/utils" "2.4.1" - "@docusaurus/utils-validation" "2.4.1" - algoliasearch "^4.13.1" - algoliasearch-helper "^3.10.0" - clsx "^1.2.1" - eta "^2.0.0" - fs-extra "^10.1.0" +"@docusaurus/theme-search-algolia@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.0.1.tgz#d8fb6bddca8d8355e4706c4c7d30d3b800217cf4" + integrity sha512-DDiPc0/xmKSEdwFkXNf1/vH1SzJPzuJBar8kMcBbDAZk/SAmo/4lf6GU2drou4Ae60lN2waix+jYWTWcJRahSA== + dependencies: + "@docsearch/react" "^3.5.2" + "@docusaurus/core" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/plugin-content-docs" "3.0.1" + "@docusaurus/theme-common" "3.0.1" + "@docusaurus/theme-translations" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + algoliasearch "^4.18.0" + algoliasearch-helper "^3.13.3" + clsx "^2.0.0" + eta "^2.2.0" + fs-extra "^11.1.1" lodash "^4.17.21" - tslib "^2.4.0" + tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.4.1", "@docusaurus/theme-translations@^2.0.0-rc.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.4.1.tgz#4d49df5865dae9ef4b98a19284ede62ae6f98726" - integrity sha512-T1RAGP+f86CA1kfE8ejZ3T3pUU3XcyvrGMfC/zxCtc2BsnoexuNI9Vk2CmuKCb+Tacvhxjv5unhxXce0+NKyvA== +"@docusaurus/theme-translations@3.0.1", "@docusaurus/theme-translations@^2 || ^3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.0.1.tgz#837a01a166ccd698a3eceaed0c2f798555bc024b" + integrity sha512-6UrbpzCTN6NIJnAtZ6Ne9492vmPVX+7Fsz4kmp+yor3KQwA1+MCzQP7ItDNkP38UmVLnvB/cYk/IvehCUqS3dg== dependencies: - fs-extra "^10.1.0" - tslib "^2.4.0" + fs-extra "^11.1.1" + tslib "^2.6.0" -"@docusaurus/types@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.4.1.tgz#d8e82f9e0f704984f98df1f93d6b4554d5458705" - integrity sha512-0R+cbhpMkhbRXX138UOc/2XZFF8hiZa6ooZAEEJFp5scytzCw4tC1gChMFXrpa3d2tYE6AX8IrOEpSonLmfQuQ== +"@docusaurus/types@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.0.1.tgz#4fe306aa10ef7c97dbc07588864f6676a40f3b6f" + integrity sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg== dependencies: "@types/history" "^4.7.11" "@types/react" "*" commander "^5.1.0" - joi "^17.6.0" + joi "^17.9.2" react-helmet-async "^1.3.0" utility-types "^3.10.0" - webpack "^5.73.0" - webpack-merge "^5.8.0" + webpack "^5.88.1" + webpack-merge "^5.9.0" -"@docusaurus/utils-common@2.4.1", "@docusaurus/utils-common@^2.0.0-rc.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.4.1.tgz#7f72e873e49bd5179588869cc3ab7449a56aae63" - integrity sha512-bCVGdZU+z/qVcIiEQdyx0K13OC5mYwxhSuDUR95oFbKVuXYRrTVrwZIqQljuo1fyJvFTKHiL9L9skQOPokuFNQ== +"@docusaurus/utils-common@3.0.1", "@docusaurus/utils-common@^2 || ^3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.0.1.tgz#111f450089d5f0a290c0c25f8a574a270d08436f" + integrity sha512-W0AxD6w6T8g6bNro8nBRWf7PeZ/nn7geEWM335qHU2DDDjHuV4UZjgUGP1AQsdcSikPrlIqTJJbKzer1lRSlIg== dependencies: - tslib "^2.4.0" + tslib "^2.6.0" -"@docusaurus/utils-validation@2.4.1", "@docusaurus/utils-validation@^2.0.0-rc.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.4.1.tgz#19959856d4a886af0c5cfb357f4ef68b51151244" - integrity sha512-unII3hlJlDwZ3w8U+pMO3Lx3RhI4YEbY3YNsQj4yzrkZzlpqZOLuAiZK2JyULnD+TKbceKU0WyWkQXtYbLNDFA== +"@docusaurus/utils-validation@3.0.1", "@docusaurus/utils-validation@^2 || ^3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.0.1.tgz#3c5f12941b328a19fc9acb34d070219f3e865ec6" + integrity sha512-ujTnqSfyGQ7/4iZdB4RRuHKY/Nwm58IIb+41s5tCXOv/MBU2wGAjOHq3U+AEyJ8aKQcHbxvTKJaRchNHYUVUQg== dependencies: - "@docusaurus/logger" "2.4.1" - "@docusaurus/utils" "2.4.1" - joi "^17.6.0" + "@docusaurus/logger" "3.0.1" + "@docusaurus/utils" "3.0.1" + joi "^17.9.2" js-yaml "^4.1.0" - tslib "^2.4.0" + tslib "^2.6.0" -"@docusaurus/utils@2.4.1", "@docusaurus/utils@^2.0.0-rc.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.4.1.tgz#9c5f76eae37b71f3819c1c1f0e26e6807c99a4fc" - integrity sha512-1lvEZdAQhKNht9aPXPoh69eeKnV0/62ROhQeFKKxmzd0zkcuE/Oc5Gpnt00y/f5bIsmOsYMY7Pqfm/5rteT5GA== +"@docusaurus/utils@3.0.1", "@docusaurus/utils@^2 || ^3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.0.1.tgz#c64f68980a90c5bc6d53a5b8f32deb9026b1e303" + integrity sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g== dependencies: - "@docusaurus/logger" "2.4.1" - "@svgr/webpack" "^6.2.1" + "@docusaurus/logger" "3.0.1" + "@svgr/webpack" "^6.5.1" escape-string-regexp "^4.0.0" file-loader "^6.2.0" - fs-extra "^10.1.0" - github-slugger "^1.4.0" + fs-extra "^11.1.1" + github-slugger "^1.5.0" globby "^11.1.0" gray-matter "^4.0.3" + jiti "^1.20.0" js-yaml "^4.1.0" lodash "^4.17.21" micromatch "^4.0.5" resolve-pathname "^3.0.0" shelljs "^0.8.5" - tslib "^2.4.0" + tslib "^2.6.0" url-loader "^4.1.1" - webpack "^5.73.0" + webpack "^5.88.1" "@easyops-cn/autocomplete.js@^0.38.1": version "0.38.1" @@ -2649,16 +1925,16 @@ cssesc "^3.0.0" immediate "^3.2.3" -"@easyops-cn/docusaurus-search-local@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.35.0.tgz#d87f60c1c2b44944ff681648c147f6bad55869f9" - integrity sha512-sHQ8jxsVgHH8MNXJlj20nZZfP/Q0peNTAJwKCN2aPuBwfRIoO0i7LmZFaYKenZmVAW/BD2MtfVd65SREmm3zxg== - dependencies: - "@docusaurus/plugin-content-docs" "^2.0.0-rc.1" - "@docusaurus/theme-translations" "^2.0.0-rc.1" - "@docusaurus/utils" "^2.0.0-rc.1" - "@docusaurus/utils-common" "^2.0.0-rc.1" - "@docusaurus/utils-validation" "^2.0.0-rc.1" +"@easyops-cn/docusaurus-search-local@0.38.1": + version "0.38.1" + resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.38.1.tgz#97d7f0b3a0593cba85193b4b6d74e756cbf12f6f" + integrity sha512-8CG/hRxkuk8dPuhjHIOLUHMWQGTsva1c6G3S/TYIH8y04Offzl9dPqLoss7289/VxpeX2VAhon0dFTu/QUPREA== + dependencies: + "@docusaurus/plugin-content-docs" "^2 || ^3" + "@docusaurus/theme-translations" "^2 || ^3" + "@docusaurus/utils" "^2 || ^3" + "@docusaurus/utils-common" "^2 || ^3" + "@docusaurus/utils-validation" "^2 || ^3" "@easyops-cn/autocomplete.js" "^0.38.1" "@node-rs/jieba" "^1.6.0" cheerio "^1.0.0-rc.3" @@ -2716,11 +1992,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== - "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" @@ -2744,14 +2015,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" @@ -2765,40 +2028,41 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@mdx-js/mdx@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" - integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== - dependencies: - "@babel/core" "7.12.9" - "@babel/plugin-syntax-jsx" "7.12.1" - "@babel/plugin-syntax-object-rest-spread" "7.8.3" - "@mdx-js/util" "1.6.22" - babel-plugin-apply-mdx-type-prop "1.6.22" - babel-plugin-extract-import-names "1.6.22" - camelcase-css "2.0.1" - detab "2.0.4" - hast-util-raw "6.0.1" - lodash.uniq "4.5.0" - mdast-util-to-hast "10.0.1" - remark-footnotes "2.0.0" - remark-mdx "1.6.22" - remark-parse "8.0.3" - remark-squeeze-paragraphs "4.0.0" - style-to-object "0.3.0" - unified "9.2.0" - unist-builder "2.0.3" - unist-util-visit "2.0.3" - -"@mdx-js/react@1.6.22", "@mdx-js/react@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" - integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== - -"@mdx-js/util@1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" - integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== +"@mdx-js/mdx@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.0.0.tgz#37ef87685143fafedf1165f0a79e9fe95fbe5154" + integrity sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdx" "^2.0.0" + collapse-white-space "^2.0.0" + devlop "^1.0.0" + estree-util-build-jsx "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-util-to-js "^2.0.0" + estree-walker "^3.0.0" + hast-util-to-estree "^3.0.0" + hast-util-to-jsx-runtime "^2.0.0" + markdown-extensions "^2.0.0" + periscopic "^3.0.0" + remark-mdx "^3.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + source-map "^0.7.0" + unified "^11.0.0" + unist-util-position-from-estree "^2.0.0" + unist-util-stringify-position "^4.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +"@mdx-js/react@3.0.0", "@mdx-js/react@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.0.tgz#eaccaa8d6a7736b19080aff5a70448a7ba692271" + integrity sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ== + dependencies: + "@types/mdx" "^2.0.0" "@node-rs/jieba-android-arm-eabi@1.6.0": version "1.6.0" @@ -2905,6 +2169,27 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz#0058baf1c26cbb63a828f0193795401684ac86f0" + integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" @@ -2917,10 +2202,10 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@sideway/formula@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c" - integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== "@sideway/pinpoint@^2.0.0": version "2.0.0" @@ -2932,10 +2217,24 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + +"@slorber/remark-comment@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" + integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.1.0" + micromark-util-symbol "^1.0.1" "@slorber/static-site-generator-webpack-plugin@^4.0.7": version "4.0.7" @@ -2946,126 +2245,231 @@ p-map "^4.0.0" webpack-sources "^3.2.2" -"@svgr/babel-plugin-add-jsx-attribute@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz#bd6d1ff32a31b82b601e73672a789cc41e84fe18" - integrity sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA== +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== -"@svgr/babel-plugin-remove-jsx-attribute@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz#58654908beebfa069681a83332544b17e5237e89" - integrity sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw== +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz#d06dd6e8a8f603f92f9979bb9990a1f85a4f57ba" - integrity sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA== +"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz#0b85837577b02c31c09c758a12932820f5245cee" - integrity sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ== +"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== -"@svgr/babel-plugin-svg-dynamic-title@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz#28236ec26f7ab9d486a487d36ae52d58ba15676f" - integrity sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg== +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== -"@svgr/babel-plugin-svg-em-dimensions@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz#40267c5dea1b43c4f83a0eb6169e08b43d8bafce" - integrity sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA== +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== -"@svgr/babel-plugin-transform-react-native-svg@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz#eb688d0a5f539e34d268d8a516e81f5d7fede7c9" - integrity sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ== +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== -"@svgr/babel-plugin-transform-svg-component@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz#7ba61d9fc1fb42b0ba1a04e4630019fa7e993c4f" - integrity sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg== +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== -"@svgr/babel-preset@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.2.0.tgz#1d3ad8c7664253a4be8e4a0f0e6872f30d8af627" - integrity sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "^6.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "^6.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "^6.0.0" - "@svgr/babel-plugin-transform-svg-component" "^6.2.0" - -"@svgr/core@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.2.1.tgz#195de807a9f27f9e0e0d678e01084b05c54fdf61" - integrity sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA== +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: - "@svgr/plugin-jsx" "^6.2.1" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" camelcase "^6.2.0" cosmiconfig "^7.0.1" -"@svgr/hast-util-to-babel-ast@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz#ae065567b74cbe745afae617053adf9a764bea25" - integrity sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ== +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: - "@babel/types" "^7.15.6" - entities "^3.0.1" + "@babel/types" "^7.20.0" + entities "^4.4.0" -"@svgr/plugin-jsx@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz#5668f1d2aa18c2f1bb7a1fc9f682d3f9aed263bd" - integrity sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g== +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== dependencies: - "@babel/core" "^7.15.5" - "@svgr/babel-preset" "^6.2.0" - "@svgr/hast-util-to-babel-ast" "^6.2.1" - svg-parser "^2.0.2" + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" -"@svgr/plugin-svgo@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz#4cbe6a33ccccdcae4e3b63ded64cc1cbe1faf48c" - integrity sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q== +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/plugin-svgo@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: cosmiconfig "^7.0.1" deepmerge "^4.2.2" - svgo "^2.5.0" + svgo "^2.8.0" -"@svgr/webpack@6.2.1", "@svgr/webpack@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.2.1.tgz#ef5d51c1b6be4e7537fb9f76b3f2b2e22b63c58d" - integrity sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw== - dependencies: - "@babel/core" "^7.15.5" - "@babel/plugin-transform-react-constant-elements" "^7.14.5" - "@babel/preset-env" "^7.15.6" - "@babel/preset-react" "^7.14.5" - "@babel/preset-typescript" "^7.15.0" - "@svgr/core" "^6.2.1" - "@svgr/plugin-jsx" "^6.2.1" - "@svgr/plugin-svgo" "^6.2.0" - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== +"@svgr/webpack@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@svgr/webpack@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.5.1.tgz#ecf027814fc1cb2decc29dc92f39c3cf691e40e8" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-constant-elements" "^7.18.12" + "@babel/preset-env" "^7.19.4" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@svgr/core" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + "@svgr/plugin-svgo" "^6.5.1" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== dependencies: - defer-to-connect "^1.0.1" + defer-to-connect "^2.0.1" "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@tsconfig/docusaurus@1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@tsconfig/docusaurus/-/docusaurus-1.0.7.tgz#a3ee3c8109b3fec091e3d61a61834e563aeee3c3" - integrity sha512-ffTXxGIP/IRMCjuzHd6M4/HdIrw1bMfC7Bv8hMkTadnePkpe0lG0oDSdbRpSDZb2rQMAgpbWiR10BvxvNYwYrg== +"@tsconfig/docusaurus@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/docusaurus/-/docusaurus-2.0.2.tgz#f96c7453ce9969ef938284eac74441e2d646efd7" + integrity sha512-12HWfYmgUl4M2o76/TFufGtI68wl2k/b8qPrIrG7ci9YJLrpAtadpy897Bz5v29Mlkr7a1Hq4KHdQTKtU+2rhQ== + +"@types/acorn@^4.0.0": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== + dependencies: + "@types/estree" "*" "@types/body-parser@*": version "1.19.2" @@ -3097,6 +2501,13 @@ dependencies: "@types/node" "*" +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + "@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" @@ -3113,6 +2524,13 @@ "@types/estree" "*" "@types/json-schema" "*" +"@types/estree-jsx@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.3.tgz#f8aa833ec986d82b8271a294a92ed1565bf2c66a" + integrity sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w== + dependencies: + "@types/estree" "*" + "@types/estree@*": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" @@ -3142,10 +2560,15 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== +"@types/gtag.js@^0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" + integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== + +"@types/hast@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.3.tgz#7f75e6b43bc3f90316046a287d9ad3888309f7e1" + integrity sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ== dependencies: "@types/unist" "*" @@ -3159,6 +2582,11 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== +"@types/http-cache-semantics@^4.0.2": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + "@types/http-errors@*": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" @@ -3195,13 +2623,18 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== -"@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" - integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== +"@types/mdast@^4.0.0", "@types/mdast@^4.0.2": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333" + integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== dependencies: "@types/unist" "*" +"@types/mdx@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.10.tgz#0d7b57fb1d83e27656156e4ee0dfba96532930e4" + integrity sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg== + "@types/mime@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" @@ -3212,6 +2645,11 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + "@types/node@*", "@types/node@^17.0.5": version "17.0.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" @@ -3222,10 +2660,10 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/parse5@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" - integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== +"@types/prismjs@^1.26.0": + version "1.26.3" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.3.tgz#47fe8e784c2dee24fe636cab82e090d3da9b7dec" + integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== "@types/prop-types@*": version "15.7.4" @@ -3242,10 +2680,10 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-helmet@6.1.6": - version "6.1.6" - resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.6.tgz#7d1afd8cbf099616894e8240e9ef70e3c6d7506d" - integrity sha512-ZKcoOdW/Tg+kiUbkFCBtvDw0k3nD4HJ/h/B9yWxN4uDO8OkRksWTO+EL+z/Qu3aHTeTll3Ro0Cc/8UhwBCMG5A== +"@types/react-helmet@6.1.11": + version "6.1.11" + resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.11.tgz#8cafcafff38f75361f451563ba7b406b0c5d3907" + integrity sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g== dependencies: "@types/react" "*" @@ -3258,10 +2696,10 @@ "@types/react" "*" "@types/react-router" "*" -"@types/react-router-config@^5.0.6": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.7.tgz#36207a3fe08b271abee62b26993ee932d13cbb02" - integrity sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w== +"@types/react-router-config@^5.0.7": + version "5.0.11" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" + integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -3301,10 +2739,10 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@18.2.14": - version "18.2.14" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" - integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g== +"@types/react@18.2.45": + version "18.2.45" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" + integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -3358,11 +2796,16 @@ dependencies: "@types/node" "*" -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": +"@types/unist@*", "@types/unist@^2.0.0": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/unist@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + "@types/ws@^8.5.5": version "8.5.5" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" @@ -3382,6 +2825,11 @@ dependencies: "@types/yargs-parser" "*" +"@ungap/structured-clone@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" @@ -3526,11 +2974,21 @@ acorn-import-assertions@^1.9.0: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +acorn-jsx@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + acorn-walk@^8.0.0: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== +acorn@^8.0.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + acorn@^8.0.4, acorn@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" @@ -3573,7 +3031,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3593,54 +3051,34 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -algoliasearch-helper@^3.10.0: - version "3.13.3" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.13.3.tgz#d23341fb88f490c9b2b83fc2362d1551d52117b6" - integrity sha512-jhbbuYZ+fheXpaJlqdJdFa1jOsrTWKmRRTYDM3oVTto5VodZzM7tT+BHzslAotaJf/81CKrm6yLRQn8WIr/K4A== +algoliasearch-helper@^3.13.3: + version "3.16.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.16.0.tgz#42c7c8cecf5fa91fb9dd467011fa68c9050be7dc" + integrity sha512-RxOtBafSQwyqD5BLO/q9VsVw/zuNz8kjb51OZhCIWLr33uvKB+vrRis+QK+JFlNQXbXf+w28fsTWiBupc1pHew== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.0.0: - version "4.12.2" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.12.2.tgz#d7672a15b8fd1b261d9ae193535b68bcb189cfd2" - integrity sha512-bn1P9+V415zeDQJtXn+1SwuwedEAv9/LJAxt8XwR6ygH/sMwaHSm2hpkz8wIbCBt/tKQ43TL672Kyxzv5PwGgQ== - dependencies: - "@algolia/cache-browser-local-storage" "4.12.2" - "@algolia/cache-common" "4.12.2" - "@algolia/cache-in-memory" "4.12.2" - "@algolia/client-account" "4.12.2" - "@algolia/client-analytics" "4.12.2" - "@algolia/client-common" "4.12.2" - "@algolia/client-personalization" "4.12.2" - "@algolia/client-search" "4.12.2" - "@algolia/logger-common" "4.12.2" - "@algolia/logger-console" "4.12.2" - "@algolia/requester-browser-xhr" "4.12.2" - "@algolia/requester-common" "4.12.2" - "@algolia/requester-node-http" "4.12.2" - "@algolia/transporter" "4.12.2" - -algoliasearch@^4.13.1: - version "4.18.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.18.0.tgz#1183ad0384a5b2c14f381c3a361da611acc8edb3" - integrity sha512-pCuVxC1SVcpc08ENH32T4sLKSyzoU7TkRIDBMwSLfIiW+fq4znOmWDkAygHZ6pRcO9I1UJdqlfgnV7TRj+MXrA== - dependencies: - "@algolia/cache-browser-local-storage" "4.18.0" - "@algolia/cache-common" "4.18.0" - "@algolia/cache-in-memory" "4.18.0" - "@algolia/client-account" "4.18.0" - "@algolia/client-analytics" "4.18.0" - "@algolia/client-common" "4.18.0" - "@algolia/client-personalization" "4.18.0" - "@algolia/client-search" "4.18.0" - "@algolia/logger-common" "4.18.0" - "@algolia/logger-console" "4.18.0" - "@algolia/requester-browser-xhr" "4.18.0" - "@algolia/requester-common" "4.18.0" - "@algolia/requester-node-http" "4.18.0" - "@algolia/transporter" "4.18.0" - -ansi-align@^3.0.0, ansi-align@^3.0.1: +algoliasearch@^4.18.0, algoliasearch@^4.19.1: + version "4.21.1" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.21.1.tgz#61fd5f9d4480fca263d9c22c2cdf24ef6d37631d" + integrity sha512-Ym0MGwOcjQhZ+s1N/j0o94g3vQD0MzNpWsfJLyPVCt0zHflbi0DwYX+9GPmTJ4BzegoxWMyCPgcmpd3R+VlOzQ== + dependencies: + "@algolia/cache-browser-local-storage" "4.21.1" + "@algolia/cache-common" "4.21.1" + "@algolia/cache-in-memory" "4.21.1" + "@algolia/client-account" "4.21.1" + "@algolia/client-analytics" "4.21.1" + "@algolia/client-common" "4.21.1" + "@algolia/client-personalization" "4.21.1" + "@algolia/client-search" "4.21.1" + "@algolia/logger-common" "4.21.1" + "@algolia/logger-console" "4.21.1" + "@algolia/requester-browser-xhr" "4.21.1" + "@algolia/requester-common" "4.21.1" + "@algolia/requester-node-http" "4.21.1" + "@algolia/transporter" "4.21.1" + +ansi-align@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== @@ -3669,7 +3107,7 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -3721,17 +3159,17 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= +astring@^1.8.0: + version "1.8.6" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.12, autoprefixer@^10.4.7: +autoprefixer@^10.4.12: version "10.4.14" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== @@ -3743,30 +3181,25 @@ autoprefixer@^10.4.12, autoprefixer@^10.4.7: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -axios@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" - integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== +autoprefixer@^10.4.14: + version "10.4.16" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" + integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== dependencies: - follow-redirects "^1.14.7" - -babel-loader@^8.2.5: - version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" + browserslist "^4.21.10" + caniuse-lite "^1.0.30001538" + fraction.js "^4.3.6" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" -babel-plugin-apply-mdx-type-prop@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" - integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== dependencies: - "@babel/helper-plugin-utils" "7.10.4" - "@mdx-js/util" "1.6.22" + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" @@ -3775,76 +3208,40 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-extract-import-names@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" - integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs2@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz#75044d90ba5043a5fb559ac98496f62f3eb668fd" - integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw== +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz#679d1b94bf3360f7682e11f2cb2708828a24fe8c" + integrity sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.4.0" - semver "^6.1.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.4" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" - -babel-plugin-polyfill-corejs3@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz#39248263c38191f0d226f928d666e6db1b4b3a8a" - integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.0" - core-js-compat "^3.30.1" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" + integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@babel/helper-define-polyfill-provider" "^0.4.4" + core-js-compat "^3.33.1" -babel-plugin-polyfill-regenerator@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz#e7344d88d9ef18a3c47ded99362ae4a757609380" - integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g== +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz#c6fc8eab610d3a11eb475391e52584bacfc020f4" + integrity sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.0" + "@babel/helper-define-polyfill-provider" "^0.4.4" -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base16@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" - integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= - base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -3898,20 +3295,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - boxen@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" @@ -3926,6 +3309,20 @@ boxen@^6.2.1: widest-line "^4.0.1" wrap-ansi "^8.0.1" +boxen@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3941,7 +3338,7 @@ braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.19.1: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1: version "4.20.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== @@ -3952,7 +3349,17 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4 node-releases "^2.0.2" picocolors "^1.0.0" -browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: +browserslist@^4.21.10, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +browserslist@^4.21.4, browserslist@^4.21.5: version "4.21.9" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== @@ -3985,18 +3392,23 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" call-bind@^1.0.0: version "1.0.2" @@ -4019,16 +3431,16 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-css@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - camelcase@^6.2.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -4049,12 +3461,17 @@ caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001507.tgz#fae53f6286e7564783eadea9b447819410a59534" integrity sha512-SFpUDoSLCaE5XYL2jfqe9ova/pbQHEmbheDf5r4diNwbAgR3qxM9NQtfsiSscjqoya5K7kFcHPUQ+VsUkIJR4A== -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== +caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565: + version "1.0.30001570" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" + integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== -chalk@^2.0.0: +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4071,20 +3488,35 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== +chalk@^5.0.1, chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== cheerio-select@^1.5.0: version "1.5.0" @@ -4155,11 +3587,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - ci-info@^3.2.0: version "3.8.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" @@ -4172,10 +3599,10 @@ clean-css@^5.2.2: dependencies: source-map "~0.6.0" -clean-css@^5.3.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" - integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== +clean-css@^5.3.2, clean-css@~5.3.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== dependencies: source-map "~0.6.0" @@ -4184,17 +3611,12 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-boxes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== -cli-table3@^0.6.2: +cli-table3@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== @@ -4212,27 +3634,20 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clsx@1.2.1, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +clsx@2.0.0, clsx@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== clsx@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== color-convert@^1.9.0: version "1.9.3" @@ -4273,10 +3688,15 @@ combine-promises@^1.1.0: resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.1.0.tgz#72db90743c0ca7aab7d0d8d2052fd7b0f674de71" integrity sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg== -comma-separated-tokens@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.20.0: version "2.20.3" @@ -4298,10 +3718,10 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== compressible@~2.0.16: version "2.0.18" @@ -4328,17 +3748,24 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" connect-history-api-fallback@^2.0.0: version "2.0.0" @@ -4367,12 +3794,10 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-signature@1.0.6: version "1.0.6" @@ -4384,10 +3809,10 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -copy-text-to-clipboard@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz#8cbf8f90e0a47f12e4a24743736265d157bce69c" - integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== +copy-text-to-clipboard@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" + integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== copy-webpack-plugin@^11.0.0: version "11.0.0" @@ -4401,30 +3826,22 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.34.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.34.0.tgz#61a4931a13c52f8f08d924522bba65f8c94a5f17" + integrity sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA== dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-js-compat@^3.30.1, core-js-compat@^3.30.2: - version "3.31.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.31.0.tgz#4030847c0766cc0e803dcdfb30055d7ef2064bf1" - integrity sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw== - dependencies: - browserslist "^4.21.5" + browserslist "^4.22.2" core-js-pure@^3.30.2: version "3.31.0" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.31.0.tgz#052fd9e82fbaaf86457f5db1fadcd06f15966ff2" integrity sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg== -core-js@^3.23.3: - version "3.31.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.31.0.tgz#4471dd33e366c79d8c0977ed2d940821719db344" - integrity sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ== +core-js@^3.31.1: + version "3.34.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.34.0.tgz#5705e6ad5982678612e96987d05b27c6c7c274a5" + integrity sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag== core-util-is@~1.0.0: version "1.0.3" @@ -4453,6 +3870,16 @@ cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +cosmiconfig@^8.1.3: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + cosmiconfig@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" @@ -4463,13 +3890,6 @@ cosmiconfig@^8.2.0: parse-json "^5.0.0" path-type "^4.0.0" -cross-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -4479,31 +3899,33 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" css-declaration-sorter@^6.3.1: version "6.4.0" resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== -css-loader@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== +css-loader@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== dependencies: icss-utils "^5.1.0" - postcss "^8.4.7" + postcss "^8.4.21" postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" + postcss-modules-local-by-default "^4.0.3" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" - semver "^7.3.5" + semver "^7.3.8" -css-minimizer-webpack-plugin@^4.0.0: +css-minimizer-webpack-plugin@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz#79f6199eb5adf1ff7ba57f105e3752d15211eb35" integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== @@ -4545,6 +3967,22 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" +css-tree@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + css-what@^5.0.1, css-what@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" @@ -4560,7 +3998,7 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-advanced@^5.3.8: +cssnano-preset-advanced@^5.3.10: version "5.3.10" resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz#25558a1fbf3a871fb6429ce71e41be7f5aca6eef" integrity sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ== @@ -4612,7 +4050,7 @@ cssnano-utils@^3.1.0: resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== -cssnano@^5.1.12, cssnano@^5.1.8: +cssnano@^5.1.15, cssnano@^5.1.8: version "5.1.15" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== @@ -4621,6 +4059,13 @@ cssnano@^5.1.12, cssnano@^5.1.8: lilconfig "^2.0.3" yaml "^1.10.2" +csso@5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -4633,6 +4078,11 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -4640,6 +4090,13 @@ debug@2.6.9, debug@^2.6.0: dependencies: ms "2.0.0" +debug@4, debug@^4.0.0, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" @@ -4647,12 +4104,19 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: dependencies: ms "2.1.2" -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: - mimic-response "^1.0.0" + mimic-response "^3.1.0" deep-extend@^0.6.0: version "0.6.0" @@ -4664,6 +4128,11 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" @@ -4671,10 +4140,10 @@ default-gateway@^6.0.3: dependencies: execa "^5.0.0" -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== +defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-lazy-prop@^2.0.0: version "2.0.0" @@ -4712,18 +4181,16 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detab@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" - integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== - dependencies: - repeat-string "^1.5.4" - detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -4737,13 +4204,20 @@ detect-port-alt@^1.1.6: address "^1.0.1" debug "^2.6.0" -detect-port@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== dependencies: address "^1.0.1" - debug "^2.6.0" + debug "4" + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" dir-glob@^3.0.1: version "3.0.1" @@ -4839,18 +4313,13 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -4871,6 +4340,11 @@ electron-to-chromium@^1.4.431: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz#d3b1eeb36b717eb479a240c0406ac1fa67901762" integrity sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw== +electron-to-chromium@^1.4.601: + version "1.4.612" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.612.tgz#350c6fd4201d677307519b931949fa64dae6a5cc" + integrity sha512-dM8BMtXtlH237ecSMnYdYuCkib2QHq0kpWfUnavjdYsyr/6OsAwg5ZGUfnQ9KD1Ga4QgB2sqXlB2NT8zy2GnVg== + electron-to-chromium@^1.4.76: version "1.4.76" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz#a0494baedaf51094b1c172999919becd9975a934" @@ -4886,28 +4360,26 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +emojilib@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" + integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== + emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -emoticon@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-3.2.0.tgz#c008ca7d7620fac742fe1bf4af8ff8fed154ae7f" - integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== +emoticon@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.0.1.tgz#2d2bbbf231ce3a5909e185bbb64a9da703a1e749" + integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" @@ -4921,11 +4393,6 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - entities@^4.2.0, entities@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" @@ -4948,10 +4415,10 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" @@ -4968,6 +4435,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -4998,12 +4470,66 @@ estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-util-attach-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" + integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-build-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" + integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-walker "^3.0.0" + +estree-util-is-identifier-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" + integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== + +estree-util-to-js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" + integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== + dependencies: + "@types/estree-jsx" "^1.0.0" + astring "^1.8.0" + source-map "^0.7.0" + +estree-util-value-to-estree@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz#0b7b5d6b6a4aaad5c60999ffbc265a985df98ac5" + integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + dependencies: + "@types/estree" "^1.0.0" + is-plain-obj "^4.0.0" + +estree-util-visit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" + integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/unist" "^3.0.0" + +estree-walker@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eta@^2.0.0: +eta@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== @@ -5141,6 +4667,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + faye-websocket@^0.11.3: version "0.11.4" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" @@ -5148,31 +4681,6 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== - dependencies: - fbjs "^3.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - -fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" - integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== - dependencies: - cross-fetch "^3.1.5" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.30" - feed@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" @@ -5213,14 +4721,13 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" find-up@^3.0.0: version "3.0.0" @@ -5229,14 +4736,6 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -5245,15 +4744,20 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -flux@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.3.tgz#573b504a24982c4768fdfb59d8d2ea5637d72ee7" - integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== dependencies: - fbemitter "^3.0.0" - fbjs "^3.0.1" + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.7: +follow-redirects@^1.0.0: version "1.14.9" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== @@ -5277,6 +4781,16 @@ fork-ts-checker-webpack-plugin@^6.5.0: semver "^7.3.2" tapable "^1.0.0" +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -5287,12 +4801,17 @@ fraction.js@^4.2.0: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== +fraction.js@^4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -fs-extra@^10.0.0, fs-extra@^10.1.0: +fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -5301,6 +4820,15 @@ fs-extra@^10.0.0, fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.1.1: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -5331,7 +4859,7 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -5350,29 +4878,15 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -github-slugger@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== +github-slugger@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -5456,22 +4970,27 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" +got@^12.1.0: + version "12.6.1" + resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" @@ -5515,10 +5034,10 @@ has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== +has-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" + integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== has@^1.0.3: version "1.0.3" @@ -5527,73 +5046,119 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hast-to-hyperscript@^9.0.0: +hast-util-from-parse5@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz#654a5676a41211e14ee80d1b1758c399a0327651" + integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^8.0.0" + property-information "^6.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-raw@^9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" - integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== - dependencies: - "@types/unist" "^2.0.3" - comma-separated-tokens "^1.0.0" - property-information "^5.3.0" - space-separated-tokens "^1.0.0" - style-to-object "^0.3.0" - unist-util-is "^4.0.0" - web-namespaces "^1.0.0" - -hast-util-from-parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" - integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== - dependencies: - "@types/parse5" "^5.0.0" - hastscript "^6.0.0" - property-information "^5.0.0" - vfile "^4.0.0" - vfile-location "^3.2.0" - web-namespaces "^1.0.0" - -hast-util-parse-selector@^2.0.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" - integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== - -hast-util-raw@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" - integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== - dependencies: - "@types/hast" "^2.0.0" - hast-util-from-parse5 "^6.0.0" - hast-util-to-parse5 "^6.0.0" - html-void-elements "^1.0.0" - parse5 "^6.0.0" - unist-util-position "^3.0.0" - vfile "^4.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hast-util-to-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" - integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.0.1.tgz#2ba8510e4ed2a1e541cde2a4ebb5c38ab4c82c2d" + integrity sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-from-parse5 "^8.0.0" + hast-util-to-parse5 "^8.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + parse5 "^7.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-estree@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz#f2afe5e869ddf0cf690c75f9fc699f3180b51b19" + integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== dependencies: - hast-to-hyperscript "^9.0.0" - property-information "^5.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-attach-comments "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unist-util-position "^5.0.0" + zwitch "^2.0.0" + +hast-util-to-jsx-runtime@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz#3ed27caf8dc175080117706bf7269404a0aa4f7c" + integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^1.0.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" + +hast-util-to-parse5@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" + integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" -hastscript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" - integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== +hastscript@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-8.0.0.tgz#4ef795ec8dee867101b9f23cc830d4baf4fd781a" + integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" he@^1.2.0: version "1.2.0" @@ -5634,7 +5199,12 @@ html-entities@^2.3.2: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== -html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: +html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: version "6.1.0" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== @@ -5647,20 +5217,33 @@ html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: relateurl "^0.2.7" terser "^5.10.0" -html-tags@^3.2.0: +html-minifier-terser@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" + integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== + dependencies: + camel-case "^4.1.2" + clean-css "~5.3.2" + commander "^10.0.0" + entities "^4.4.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.15.1" + +html-tags@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== +html-webpack-plugin@^5.5.3: + version "5.5.4" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz#517a48e6f046ff1ae1a172c983cd993eb79d2f6a" + integrity sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw== dependencies: "@types/html-minifier-terser" "^6.0.0" html-minifier-terser "^6.0.2" @@ -5688,10 +5271,10 @@ htmlparser2@^8.0.1: domutils "^3.0.1" entities "^4.4.0" -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-deceiver@^1.2.7: version "1.2.7" @@ -5744,6 +5327,14 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -5771,10 +5362,10 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -image-size@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.1.tgz#86d6cfc2b1d19eab5d2b368d4b9194d9e48541c5" - integrity sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ== +image-size@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== dependencies: queue "6.0.2" @@ -5796,10 +5387,10 @@ import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== imurmurhash@^0.1.4: version "0.1.4" @@ -5824,7 +5415,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5839,7 +5430,7 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.5, ini@~1.3.0: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -5849,6 +5440,11 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== +inline-style-parser@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.2.tgz#d498b4e6de0373458fc610ff793f6b14ebf45633" + integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -5871,18 +5467,18 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-alphabetical@1.0.4, is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -5896,17 +5492,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: - ci-info "^2.0.0" + ci-info "^3.2.0" is-core-module@^2.8.1: version "2.8.1" @@ -5915,10 +5506,10 @@ is-core-module@^2.8.1: dependencies: has "^1.0.3" -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -5947,10 +5538,10 @@ is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-installed-globally@^0.4.0: version "0.4.0" @@ -5960,10 +5551,10 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== +is-npm@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" + integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== is-number@^7.0.0: version "7.0.0" @@ -5990,16 +5581,16 @@ is-path-inside@^3.0.2: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6007,6 +5598,18 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-reference@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" + integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== + dependencies: + "@types/estree" "*" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -6027,16 +5630,6 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -6044,10 +5637,10 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +is-yarn-global@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" + integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== isarray@0.0.1: version "0.0.1" @@ -6105,15 +5698,20 @@ jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== -joi@^17.6.0: - version "17.6.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" - integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== +jiti@^1.20.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +joi@^17.9.2: + version "17.11.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.0" + "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: @@ -6146,10 +5744,10 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -6173,7 +5771,7 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" -json5@^2.2.2: +json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -6187,12 +5785,12 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: - json-buffer "3.0.0" + json-buffer "3.0.1" kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" @@ -6211,12 +5809,12 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== dependencies: - package-json "^6.3.0" + package-json "^8.1.0" launch-editor@^2.6.0: version "2.6.0" @@ -6268,13 +5866,6 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -6282,36 +5873,38 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.curry@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.flow@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" - integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.uniq@4.5.0, lodash.uniq@^4.5.0: +lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -6326,15 +5919,10 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== lru-cache@^5.1.1: version "5.1.1" @@ -6360,65 +5948,251 @@ lunr@^2.3.9: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - mark.js@^8.11.1: version "8.11.1" resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" integrity sha1-GA8fnr74sOY45BZq1S24eb6y/8U= -markdown-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== +markdown-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" + integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== -mdast-squeeze-paragraphs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" - integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== +markdown-table@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" + integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + +mdast-util-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f" + integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0" + integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== dependencies: - unist-util-remove "^2.0.0" + "@types/mdast" "^4.0.0" + escape-string-regexp "^5.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" -mdast-util-definitions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" - integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== +mdast-util-from-markdown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" + integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-frontmatter@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" + integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== dependencies: - unist-util-visit "^2.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + escape-string-regexp "^5.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-extension-frontmatter "^2.0.0" -mdast-util-to-hast@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" - integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz#5baf35407421310a08e68c15e5d8821e8898ba2a" + integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" - mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - -mdast-util-to-string@^2.0.0: + "@types/mdast" "^4.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" + +mdast-util-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz#25a1753c7d16db8bfd53cd84fe50562bd1e6d6a9" + integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-table@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + markdown-table "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz#3f2aecc879785c3cb6a81ff3a243dc11eca61095" + integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-gfm-autolink-literal "^2.0.0" + mdast-util-gfm-footnote "^2.0.0" + mdast-util-gfm-strikethrough "^2.0.0" + mdast-util-gfm-table "^2.0.0" + mdast-util-gfm-task-list-item "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-expression@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87" + integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-jsx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz#f73631fa5bb7a36712ff1e9cedec0cafed03401c" + integrity sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-remove-position "^5.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdxjs-esm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" + integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz#468cbbb277375523de807248b8ad969feb02a5c7" + integrity sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz#74c0a9f014bb2340cae6118f6fccd75467792be7" + integrity sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + +mdast-util-to-markdown@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4" + integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdurl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== media-typer@0.3.0: version "0.3.0" @@ -6452,6 +6226,422 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +micromark-core-commonmark@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" + integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz#527869de497a6de9024138479091bc885dae076b" + integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-frontmatter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" + integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== + dependencies: + fault "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz#f1e50b42e67d441528f39a67133eddde2bbabfd9" + integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz#91afad310065a94b636ab1e9dab2c60d1aab953c" + integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61" + integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7" + integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838" + integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + dependencies: + micromark-extension-gfm-autolink-literal "^2.0.0" + micromark-extension-gfm-footnote "^2.0.0" + micromark-extension-gfm-strikethrough "^2.0.0" + micromark-extension-gfm-table "^2.0.0" + micromark-extension-gfm-tagfilter "^2.0.0" + micromark-extension-gfm-task-list-item "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz#1407b9ce69916cf5e03a196ad9586889df25302a" + integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-jsx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz#4aba0797c25efb2366a3fd2d367c6b1c1159f4f5" + integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdx-md@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" + integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-mdxjs-esm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" + integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdxjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" + integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== + dependencies: + acorn "^8.0.0" + acorn-jsx "^5.0.0" + micromark-extension-mdx-expression "^3.0.0" + micromark-extension-mdx-jsx "^3.0.0" + micromark-extension-mdx-md "^2.0.0" + micromark-extension-mdxjs-esm "^3.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" + integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" + integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-mdx-expression@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz#f2a9724ce174f1751173beb2c1f88062d3373b1b" + integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" + integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" + integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" + integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.0.1.tgz#52b824c2e2633b6fb33399d2ec78ee2a90d6b298" + integrity sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" + integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" + integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" + integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz#2698bbb38f2a9ba6310e359f99fcb2b35a0d2bd5" + integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" + integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" + integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + +micromark-util-events-to-acorn@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz#4275834f5453c088bd29cd72dfbf80e3327cec07" + integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-util-html-tag-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" + integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" + integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" + integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" + integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" + integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + +micromark-util-symbol@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" + integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + +micromark-util-types@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark-util-types@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" + integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + +micromark@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" + integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" @@ -6507,12 +6697,17 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== -mini-css-extract-plugin@^2.6.1: +mini-css-extract-plugin@^2.7.6: version "2.7.6" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== @@ -6531,7 +6726,7 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.4: +minimatch@3.1.2, minimatch@^3.0.4: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6571,16 +6766,16 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -nanoid@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== - nanoid@^3.3.6: version "3.3.6" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -6599,19 +6794,15 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-emoji@^1.10.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-emoji@^2.1.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.1.3.tgz#93cfabb5cc7c3653aa52f29d6ffb7927d8047c06" + integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== dependencies: - whatwg-url "^5.0.0" + "@sindresorhus/is" "^4.6.0" + char-regex "^1.0.2" + emojilib "^2.4.0" + skin-tone "^2.0.0" node-forge@^1: version "1.3.1" @@ -6623,6 +6814,11 @@ node-releases@^2.0.12: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + node-releases@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" @@ -6638,16 +6834,16 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +normalize-url@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" + integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -6667,7 +6863,7 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -6709,7 +6905,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -6737,12 +6933,12 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -6756,6 +6952,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -6763,13 +6966,6 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -6777,6 +6973,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -6797,15 +7000,15 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" param-case@^3.0.4: version "3.0.4" @@ -6822,19 +7025,21 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== +parse-entities@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" + integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-json@^5.0.0: + "@types/unist" "^2.0.0" + character-entities "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -6864,7 +7069,7 @@ parse5-htmlparser2-tree-adapter@^7.0.0: domhandler "^5.0.2" parse5 "^7.0.0" -parse5@^6.0.0, parse5@^6.0.1: +parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== @@ -6899,6 +7104,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -6941,6 +7151,15 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +periscopic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" + integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^3.0.0" + is-reference "^3.0.0" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -6951,12 +7170,12 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: - find-up "^4.0.0" + find-up "^6.3.0" pkg-up@^3.1.0: version "3.1.0" @@ -7018,7 +7237,7 @@ postcss-discard-unused@^5.1.0: dependencies: postcss-selector-parser "^6.0.5" -postcss-loader@^7.0.0: +postcss-loader@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.3.tgz#6da03e71a918ef49df1bb4be4c80401df8e249dd" integrity sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA== @@ -7090,10 +7309,10 @@ postcss-modules-extract-imports@^3.0.0: resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== dependencies: icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" @@ -7214,12 +7433,12 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-sort-media-queries@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.2.1.tgz#a99bae69ef1098ee3b64a5fa94d258ec240d0355" - integrity sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ== +postcss-sort-media-queries@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz#04a5a78db3921eb78f28a1a781a2e68e65258128" + integrity sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw== dependencies: - sort-css-media-queries "2.0.4" + sort-css-media-queries "2.1.0" postcss-svgo@^5.1.0: version "5.1.0" @@ -7246,16 +7465,7 @@ postcss-zindex@^5.1.0: resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -postcss@^8.3.11, postcss@^8.4.7: - version "8.4.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" - integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.14, postcss@^8.4.17: +postcss@^8.4.17: version "8.4.24" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== @@ -7264,10 +7474,14 @@ postcss@^8.4.14, postcss@^8.4.17: picocolors "^1.0.0" source-map-js "^1.0.2" -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +postcss@^8.4.21, postcss@^8.4.26: + version "8.4.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" + integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" pretty-error@^4.0.0: version "4.0.0" @@ -7282,12 +7496,15 @@ pretty-time@^1.1.0: resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== -prism-react-renderer@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" - integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== +prism-react-renderer@2.3.0, prism-react-renderer@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.0.tgz#5f8f615af6af8201a0b734bd8c946df3d818ea54" + integrity sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" -prismjs@^1.28.0: +prismjs@^1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== @@ -7297,13 +7514,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -7321,12 +7531,15 @@ prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.13.1" -property-information@^5.0.0, property-information@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" - integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== - dependencies: - xtend "^4.0.0" +property-information@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.0.tgz#6bc4c618b0c2d68b3bb8b552cbb97f8e300a0f82" + integrity sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ== + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== proxy-addr@~2.0.7: version "2.0.7" @@ -7336,14 +7549,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode@^1.3.2: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -7354,17 +7559,12 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== +pupa@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" + integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== dependencies: - escape-goat "^2.0.0" - -pure-color@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" - integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= + escape-goat "^4.0.0" qs@6.11.0: version "6.11.0" @@ -7385,6 +7585,11 @@ queue@6.0.2: dependencies: inherits "~2.0.3" +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -7412,7 +7617,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: +rc@1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -7422,16 +7627,6 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-base16-styling@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" - integrity sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw= - dependencies: - base16 "^1.0.0" - lodash.curry "^4.0.1" - lodash.flow "^3.3.0" - pure-color "^1.2.0" - react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" @@ -7507,20 +7702,10 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-json-view@^1.21.3: - version "1.21.3" - resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" - integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== - dependencies: - flux "^4.0.1" - react-base16-styling "^0.6.0" - react-lifecycles-compat "^3.0.4" - react-textarea-autosize "^8.3.2" - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== +react-json-view-lite@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz#c59a0bea4ede394db331d482ee02e293d38f8218" + integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" @@ -7536,7 +7721,7 @@ react-router-config@^5.1.1: dependencies: "@babel/runtime" "^7.1.2" -react-router-dom@^5.3.3: +react-router-dom@^5.3.4: version "5.3.4" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== @@ -7549,7 +7734,7 @@ react-router-dom@^5.3.3: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.3.4, react-router@^5.3.3: +react-router@5.3.4, react-router@^5.3.4: version "5.3.4" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -7564,15 +7749,6 @@ react-router@5.3.4, react-router@^5.3.3: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-textarea-autosize@^8.3.2: - version "8.3.3" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8" - integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ== - dependencies: - "@babel/runtime" "^7.10.2" - use-composed-ref "^1.0.0" - use-latest "^1.0.0" - react@18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -7628,13 +7804,6 @@ recursive-readdir@^2.2.2: dependencies: minimatch "3.0.4" -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" @@ -7647,42 +7816,23 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" @@ -7695,31 +7845,19 @@ regexpu-core@^5.3.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== +registry-auth-token@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" + integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== dependencies: - rc "^1.2.8" + "@pnpm/npm-conf" "^2.1.0" -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== dependencies: - jsesc "~0.5.0" + rc "1.2.8" regjsparser@^0.9.1: version "0.9.1" @@ -7728,67 +7866,100 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +rehype-raw@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" + integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== + dependencies: + "@types/hast" "^3.0.0" + hast-util-raw "^9.0.0" + vfile "^6.0.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remark-emoji@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.2.0.tgz#1c702090a1525da5b80e15a8f963ef2c8236cac7" - integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== +remark-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.0.tgz#34452d951b37e6207d2e2a4f830dc33442923268" + integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== dependencies: - emoticon "^3.2.0" - node-emoji "^1.10.0" - unist-util-visit "^2.0.3" + "@types/mdast" "^4.0.0" + mdast-util-directive "^3.0.0" + micromark-extension-directive "^3.0.0" + unified "^11.0.0" -remark-footnotes@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" - integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== - -remark-mdx@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" - integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== - dependencies: - "@babel/core" "7.12.9" - "@babel/helper-plugin-utils" "7.10.4" - "@babel/plugin-proposal-object-rest-spread" "7.12.1" - "@babel/plugin-syntax-jsx" "7.12.1" - "@mdx-js/util" "1.6.22" - is-alphabetical "1.0.4" - remark-parse "8.0.3" - unified "9.2.0" - -remark-parse@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" - integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== - dependencies: - ccount "^1.0.0" - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^2.0.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^2.0.0" - vfile-location "^3.0.0" - xtend "^4.0.1" - -remark-squeeze-paragraphs@4.0.0: +remark-emoji@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" + integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== + dependencies: + "@types/mdast" "^4.0.2" + emoticon "^4.0.1" + mdast-util-find-and-replace "^3.0.1" + node-emoji "^2.1.0" + unified "^11.0.4" + +remark-frontmatter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" + integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-frontmatter "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + unified "^11.0.0" + +remark-gfm@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" - integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.0.tgz#aea777f0744701aa288b67d28c43565c7e8c35de" + integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-gfm "^3.0.0" + micromark-extension-gfm "^3.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + +remark-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.0.0.tgz#146905a3925b078970e05fc89b0e16b9cc3bfddd" + integrity sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g== + dependencies: + mdast-util-mdx "^3.0.0" + micromark-extension-mdxjs "^3.0.0" + +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-rehype@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.0.0.tgz#7f21c08738bde024be5f16e4a8b13e5d7a04cf6b" + integrity sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== dependencies: - mdast-squeeze-paragraphs "^4.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" renderkid@^3.0.0: version "3.0.0" @@ -7801,11 +7972,6 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" -repeat-string@^1.5.4: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -7821,6 +7987,11 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= +resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -7831,7 +8002,7 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.14.2: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -7840,12 +8011,12 @@ resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== dependencies: - lowercase-keys "^1.0.0" + lowercase-keys "^3.0.0" retry@^0.13.1: version "0.13.1" @@ -7869,14 +8040,14 @@ rtl-detect@^1.0.4: resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.0.4.tgz#40ae0ea7302a150b96bc75af7d749607392ecac6" integrity sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ== -rtlcss@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" - integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== +rtlcss@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.1.1.tgz#f20409fcc197e47d1925996372be196fee900c0c" + integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== dependencies: - find-up "^5.0.0" + escalade "^3.1.1" picocolors "^1.0.0" - postcss "^8.3.11" + postcss "^8.4.21" strip-json-comments "^3.1.1" run-parallel@^1.1.9: @@ -7886,13 +8057,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" - integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== - dependencies: - tslib "^2.1.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -7929,15 +8093,6 @@ schema-utils@2.7.0: ajv "^6.12.2" ajv-keywords "^3.4.1" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - schema-utils@^3.0.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" @@ -7986,29 +8141,24 @@ selfsigned@^2.1.1: dependencies: node-forge "^1" -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== dependencies: - semver "^6.3.0" - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^5.4.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver "^7.3.5" -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -8022,6 +8172,13 @@ semver@^7.3.7, semver@^7.3.8: dependencies: lru-cache "^6.0.0" +semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -8055,16 +8212,16 @@ serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" -serve-handler@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.3.tgz#1bf8c5ae138712af55c758477533b9117f6435e8" - integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== +serve-handler@^6.1.5: + version "6.1.5" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.5.tgz#a4a0964f5c55c7e37a02a633232b6f0d6f068375" + integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== dependencies: bytes "3.0.0" content-disposition "0.5.2" fast-url-parser "1.1.3" mime-types "2.1.18" - minimatch "3.0.4" + minimatch "3.1.2" path-is-inside "1.0.2" path-to-regexp "2.2.1" range-parser "1.2.0" @@ -8092,11 +8249,6 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -8159,14 +8311,14 @@ signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== +sirv@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.3.tgz#ca5868b87205a74bef62a469ed0296abceccd446" + integrity sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA== dependencies: "@polka/url" "^1.0.0-next.20" mrmime "^1.0.0" - totalist "^1.0.0" + totalist "^3.0.0" sisteransi@^1.0.5: version "1.0.5" @@ -8183,6 +8335,13 @@ sitemap@^7.1.1: arg "^5.0.0" sax "^1.2.4" +skin-tone@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" + integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== + dependencies: + unicode-emoji-modifier-base "^1.0.0" + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -8193,6 +8352,14 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" @@ -8202,12 +8369,12 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -sort-css-media-queries@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz#b2badfa519cb4a938acbc6d3aaa913d4949dc908" - integrity sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw== +sort-css-media-queries@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz#7c85e06f79826baabb232f5560e9745d7a78c4ce" + integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== -source-map-js@^1.0.2: +source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -8220,25 +8387,25 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.0: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spdy-transport@^3.0.0: version "3.0.0" @@ -8268,16 +8435,16 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +srcset@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -8301,7 +8468,7 @@ stream-browserify@3.0.0: inherits "~2.0.4" readable-stream "^3.5.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -8310,7 +8477,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.1: +string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -8333,6 +8500,14 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -8342,7 +8517,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -8376,13 +8551,20 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-to-object@0.3.0, style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== +style-to-object@^0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== dependencies: inline-style-parser "0.1.1" +style-to-object@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.5.tgz#5e918349bc3a39eee3a804497d97fcbbf2f0d7c0" + integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== + dependencies: + inline-style-parser "0.2.2" + stylehacks@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" @@ -8417,12 +8599,12 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-parser@^2.0.2: +svg-parser@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== -svgo@^2.5.0, svgo@^2.7.0: +svgo@^2.7.0, svgo@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== @@ -8435,6 +8617,19 @@ svgo@^2.5.0, svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +svgo@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.1.0.tgz#7e63855c8da73297d5d5765e968f9679a0f8d24a" + integrity sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.2.1" + css-what "^6.1.0" + csso "5.0.5" + picocolors "^1.0.0" + tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -8445,7 +8640,7 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: +terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: version "5.3.9" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== @@ -8466,6 +8661,16 @@ terser@^5.10.0: source-map "~0.7.2" source-map-support "~0.5.20" +terser@^5.15.1: + version "5.26.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" + integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + terser@^5.16.8: version "5.18.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.1.tgz#6d8642508ae9fb7b48768e48f16d675c89a78460" @@ -8501,11 +8706,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -8518,32 +8718,22 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-trailing-lines@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +trough@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" + integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0: +tslib@^2.0.3, tslib@^2.2.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -8553,10 +8743,20 @@ tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +tslib@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-fest@^2.5.0: version "2.12.0" @@ -8578,29 +8778,21 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" - integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== - -ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== - -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== - dependencies: - inherits "^2.0.0" - xtend "^4.0.0" +typescript@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== +unicode-emoji-modifier-base@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" + integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== + unicode-match-property-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" @@ -8609,11 +8801,6 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - unicode-match-property-value-ecmascript@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" @@ -8624,94 +8811,78 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== -unified@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" - integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== +unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" + integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== dependencies: - bail "^1.0.0" + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" -unified@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" + crypto-random-string "^4.0.0" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: - crypto-random-string "^2.0.0" - -unist-builder@2.0.3, unist-builder@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" - integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== - -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + "@types/unist" "^3.0.0" -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== +unist-util-position-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" + integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== + dependencies: + "@types/unist" "^3.0.0" -unist-util-remove-position@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" - integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: - unist-util-visit "^2.0.0" + "@types/unist" "^3.0.0" -unist-util-remove@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" - integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== +unist-util-remove-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" + integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== dependencies: - unist-util-is "^4.0.0" + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: - "@types/unist" "^2.0.2" + "@types/unist" "^3.0.0" -unist-util-visit-parents@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" - integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" universalify@^2.0.0: version "2.0.0" @@ -8731,25 +8902,33 @@ update-browserslist-db@^1.0.11: escalade "^3.1.1" picocolors "^1.0.0" -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" + integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== + dependencies: + boxen "^7.0.0" + chalk "^5.0.1" + configstore "^6.0.0" + has-yarn "^3.0.0" + import-lazy "^4.0.0" + is-ci "^3.0.1" is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" + is-npm "^6.0.0" + is-yarn-global "^0.4.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.3.7" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" uri-js@^4.2.2: version "4.4.1" @@ -8767,35 +8946,6 @@ url-loader@4.1.1, url-loader@^4.1.1: mime-types "^2.1.27" schema-utils "^3.0.0" -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -use-composed-ref@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849" - integrity sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw== - -use-isomorphic-layout-effect@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225" - integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ== - -use-latest@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232" - integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw== - dependencies: - use-isomorphic-layout-effect "^1.0.0" - -use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -8831,39 +8981,30 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vfile-location@^3.0.0, vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== +vfile-location@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" + integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" + "@types/unist" "^3.0.0" + vfile "^6.0.0" -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" -wait-on@^6.0.1: +vfile@^6.0.0, vfile@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e" - integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw== + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" + integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== dependencies: - axios "^0.25.0" - joi "^17.6.0" - lodash "^4.17.21" - minimist "^1.2.5" - rxjs "^7.5.4" + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" watchpack@^2.4.0: version "2.4.0" @@ -8880,29 +9021,28 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-namespaces@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" - integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -webpack-bundle-analyzer@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz#1b0eea2947e73528754a6f9af3e91b2b6e0f79d5" - integrity sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ== +webpack-bundle-analyzer@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== dependencies: + "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" acorn-walk "^8.0.0" - chalk "^4.1.0" commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" gzip-size "^6.0.0" - lodash "^4.17.20" + html-escaper "^2.0.2" + is-plain-object "^5.0.0" opener "^1.5.2" - sirv "^1.0.7" + picocolors "^1.0.0" + sirv "^2.0.3" ws "^7.3.1" webpack-dev-middleware@^5.3.1: @@ -8916,7 +9056,7 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.9.3: +webpack-dev-server@^4.15.1: version "4.15.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== @@ -8952,12 +9092,13 @@ webpack-dev-server@^4.9.3: webpack-dev-middleware "^5.3.1" ws "^8.13.0" -webpack-merge@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== +webpack-merge@^5.9.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" + flat "^5.0.2" wildcard "^2.0.0" webpack-sources@^3.2.2, webpack-sources@^3.2.3: @@ -8965,10 +9106,10 @@ webpack-sources@^3.2.2, webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.73.0: - version "5.88.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.0.tgz#a07aa2f8e7a64a8f1cec0c6c2e180e3cb34440c8" - integrity sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw== +webpack@^5.88.1: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0" @@ -9019,14 +9160,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -9041,13 +9174,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - widest-line@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" @@ -9060,15 +9186,6 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.0.1.tgz#2101e861777fec527d0ea90c57c6b03aac56a5b3" @@ -9078,12 +9195,21 @@ wrap-ansi@^8.0.1: string-width "^5.0.1" strip-ansi "^7.0.1" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: +write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -9103,10 +9229,10 @@ ws@^8.13.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== xml-js@1.6.11, xml-js@^1.6.11: version "1.6.11" @@ -9115,11 +9241,6 @@ xml-js@1.6.11, xml-js@^1.6.11: dependencies: sax "^1.2.4" -xtend@^4.0.0, xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -9140,7 +9261,12 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zwitch@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== diff --git a/package.json b/package.json index 925f7ce..e96bef2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tsdav", - "version": "2.0.6", + "version": "2.0.7", "description": "WebDAV, CALDAV, and CARDDAV client for Nodejs and the Browser", "keywords": [ "dav", @@ -59,24 +59,24 @@ "@rollup/plugin-typescript": "11.1.5", "@types/base-64": "1.0.2", "@types/debug": "4.1.12", - "@types/jest": "29.5.9", - "@types/node": "20.9.3", - "@typescript-eslint/eslint-plugin": "6.12.0", - "@typescript-eslint/parser": "6.12.0", + "@types/jest": "29.5.11", + "@types/node": "20.10.4", + "@typescript-eslint/eslint-plugin": "6.14.0", + "@typescript-eslint/parser": "6.14.0", "copyfiles": "2.4.1", "cross-env": "7.0.3", "dotenv": "16.3.1", - "eslint": "8.54.0", + "eslint": "8.55.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "17.1.0", - "eslint-config-prettier": "9.0.0", + "eslint-config-prettier": "9.1.0", "eslint-module-utils": "2.8.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-prettier": "5.0.1", "jest": "29.7.0", - "prettier": "3.1.0", + "prettier": "3.1.1", "rimraf": "5.0.5", - "rollup": "4.5.0", + "rollup": "4.9.0", "rollup-plugin-dts": "6.1.0", "rollup-plugin-node-builtins": "2.1.2", "rollup-plugin-polyfill-node": "0.13.0", @@ -84,7 +84,7 @@ "sort-package-json": "2.6.0", "ts-jest": "29.1.1", "tslib": "2.6.2", - "typescript": "5.2.2" + "typescript": "5.3.3" }, "engines": { "node": ">=10" diff --git a/src/__tests__/integration/apple/calendar.test.ts b/src/__tests__/integration/apple/calendar.test.ts index 1e32b48..36f69ff 100644 --- a/src/__tests__/integration/apple/calendar.test.ts +++ b/src/__tests__/integration/apple/calendar.test.ts @@ -246,7 +246,7 @@ test('fetchCalendarObjects should return empty result when no objects fall in th calendar: calendars[0], headers: authHeaders, timeRange: { - start: '2022-03-10T10:00:00.000Z', + start: '2022-03-10T10:01:00.000Z', end: '2022-03-10T11:00:00.000Z', }, expand: true, diff --git a/src/__tests__/unit/requestHelpers.test.ts b/src/__tests__/unit/requestHelpers.test.ts index 43dc9f8..16d1e14 100644 --- a/src/__tests__/unit/requestHelpers.test.ts +++ b/src/__tests__/unit/requestHelpers.test.ts @@ -1,4 +1,4 @@ -import { cleanupFalsy, urlContains, urlEquals } from '../../util/requestHelpers'; +import { cleanupFalsy, excludeHeaders, urlContains, urlEquals } from '../../util/requestHelpers'; test('cleanupFalsy should clean undefined from object', () => { const objA = { @@ -60,3 +60,31 @@ test('urlContains should handle almost substring of urls', () => { expect(urlContains(url, url6)).toBe(true); expect(urlContains(url, url7)).toBe(false); }); + +test('excludeHeaders should exclude headers', () => { + const headers = { + test1: '123', + test2: 'abc', + test3: 'cde', + }; + + const headersToExclude = ['test1', 'test2']; + + expect(excludeHeaders(headers, headersToExclude)).toEqual({ test3: 'cde' }); +}); + +test('excludeHeaders should handle undefined headers and/or undefined/empty headersToExclude', () => { + const headers = { + test1: '123', + test2: 'abc', + test3: 'cde', + }; + + const headersToExclude = ['test1', 'test2']; + + expect(excludeHeaders(undefined, headersToExclude)).toEqual({}); + expect(excludeHeaders(headers, undefined)).toEqual(headers); + expect(excludeHeaders(headers, [])).toEqual(headers); + expect(excludeHeaders(undefined, undefined)).toEqual({}); + expect(excludeHeaders({}, ['test1', 'test2', 'test3'])).toEqual({}); +}); diff --git a/src/account.ts b/src/account.ts index 269024a..e1a82d0 100644 --- a/src/account.ts +++ b/src/account.ts @@ -6,7 +6,7 @@ import { fetchCalendarObjects, fetchCalendars } from './calendar'; import { DAVNamespaceShort } from './consts'; import { propfind } from './request'; import { DAVAccount } from './types/models'; -import { urlContains } from './util/requestHelpers'; +import { excludeHeaders, urlContains } from './util/requestHelpers'; import { findMissingFieldNames, hasFields } from './util/typeHelpers'; const debug = getLogger('tsdav:account'); @@ -14,9 +14,10 @@ const debug = getLogger('tsdav:account'); export const serviceDiscovery = async (params: { account: DAVAccount; headers?: Record; + headersToExclude?: string[]; }): Promise => { debug('Service discovery...'); - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const endpoint = new URL(account.serverUrl); const uri = new URL(`/.well-known/${account.accountType}`, endpoint); @@ -24,7 +25,7 @@ export const serviceDiscovery = async (params: { try { const response = await fetch(uri.href, { - headers, + headers: excludeHeaders(headers, headersToExclude), method: 'PROPFIND', redirect: 'manual', }); @@ -54,8 +55,9 @@ export const serviceDiscovery = async (params: { export const fetchPrincipalUrl = async (params: { account: DAVAccount; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields: Array<'rootUrl'> = ['rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error( @@ -72,7 +74,7 @@ export const fetchPrincipalUrl = async (params: { [`${DAVNamespaceShort.DAV}:current-user-principal`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); if (!response.ok) { debug(`Fetch principal url failed: ${response.statusText}`); @@ -87,8 +89,9 @@ export const fetchPrincipalUrl = async (params: { export const fetchHomeUrl = async (params: { account: DAVAccount; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { account, headers } = params; + const { account, headers, headersToExclude } = params; const requiredFields: Array<'principalUrl' | 'rootUrl'> = ['principalUrl', 'rootUrl']; if (!hasFields(account, requiredFields)) { throw new Error( @@ -104,7 +107,7 @@ export const fetchHomeUrl = async (params: { ? { [`${DAVNamespaceShort.CALDAV}:calendar-home-set`]: {} } : { [`${DAVNamespaceShort.CARDDAV}:addressbook-home-set`]: {} }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const matched = responses.find((r) => urlContains(account.principalUrl, r.href)); @@ -125,20 +128,42 @@ export const fetchHomeUrl = async (params: { export const createAccount = async (params: { account: DAVAccount; headers?: Record; + headersToExclude?: string[]; loadCollections?: boolean; loadObjects?: boolean; }): Promise => { - const { account, headers, loadCollections = false, loadObjects = false } = params; + const { + account, + headers, + loadCollections = false, + loadObjects = false, + headersToExclude, + } = params; const newAccount: DAVAccount = { ...account }; - newAccount.rootUrl = await serviceDiscovery({ account, headers }); - newAccount.principalUrl = await fetchPrincipalUrl({ account: newAccount, headers }); - newAccount.homeUrl = await fetchHomeUrl({ account: newAccount, headers }); + newAccount.rootUrl = await serviceDiscovery({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.principalUrl = await fetchPrincipalUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); + newAccount.homeUrl = await fetchHomeUrl({ + account: newAccount, + headers: excludeHeaders(headers, headersToExclude), + }); // to load objects you must first load collections if (loadCollections || loadObjects) { if (account.accountType === 'caldav') { - newAccount.calendars = await fetchCalendars({ headers, account: newAccount }); + newAccount.calendars = await fetchCalendars({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } else if (account.accountType === 'carddav') { - newAccount.addressBooks = await fetchAddressBooks({ headers, account: newAccount }); + newAccount.addressBooks = await fetchAddressBooks({ + headers: excludeHeaders(headers, headersToExclude), + account: newAccount, + }); } } if (loadObjects) { @@ -146,14 +171,20 @@ export const createAccount = async (params: { newAccount.calendars = await Promise.all( newAccount.calendars.map(async (cal) => ({ ...cal, - objects: await fetchCalendarObjects({ calendar: cal, headers }), + objects: await fetchCalendarObjects({ + calendar: cal, + headers: excludeHeaders(headers, headersToExclude), + }), })), ); } else if (account.accountType === 'carddav' && newAccount.addressBooks) { newAccount.addressBooks = await Promise.all( newAccount.addressBooks.map(async (addr) => ({ ...addr, - objects: await fetchVCards({ addressBook: addr, headers }), + objects: await fetchVCards({ + addressBook: addr, + headers: excludeHeaders(headers, headersToExclude), + }), })), ); } diff --git a/src/addressBook.ts b/src/addressBook.ts index 012d8d6..d7a911e 100644 --- a/src/addressBook.ts +++ b/src/addressBook.ts @@ -7,7 +7,7 @@ import { DAVNamespace, DAVNamespaceShort } from './consts'; import { createObject, deleteObject, propfind, updateObject } from './request'; import { DAVDepth, DAVResponse } from './types/DAVTypes'; import { DAVAccount, DAVAddressBook, DAVVCard } from './types/models'; -import { getDAVAttribute } from './util/requestHelpers'; +import { excludeHeaders, getDAVAttribute } from './util/requestHelpers'; import { findMissingFieldNames, hasFields } from './util/typeHelpers'; const debug = getLogger('tsdav:addressBook'); @@ -18,8 +18,9 @@ export const addressBookQuery = async (params: { filters?: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, filters, depth, headers } = params; + const { url, props, filters, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -37,7 +38,7 @@ export const addressBookQuery = async (params: { }, defaultNamespace: DAVNamespaceShort.CARDDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }; @@ -68,8 +69,9 @@ export const fetchAddressBooks = async (params?: { account?: DAVAccount; props?: ElementCompact; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { account, headers, props: customProps } = params ?? {}; + const { account, headers, props: customProps, headersToExclude } = params ?? {}; const requiredFields: Array = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -91,7 +93,7 @@ export const fetchAddressBooks = async (params?: { [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all( res @@ -121,8 +123,16 @@ export const fetchVCards = async (params: { objectUrls?: string[]; urlFilter?: (url: string) => boolean; useMultiGet?: boolean; + headersToExclude?: string[]; }): Promise => { - const { addressBook, headers, objectUrls, urlFilter = (url) => url, useMultiGet = true } = params; + const { + addressBook, + headers, + objectUrls, + headersToExclude, + urlFilter = (url) => url, + useMultiGet = true, + } = params; debug(`Fetching vcards from ${addressBook?.url}`); const requiredFields: Array<'url'> = ['url']; if (!addressBook || !hasFields(addressBook, requiredFields)) { @@ -145,7 +155,7 @@ export const fetchVCards = async (params: { url: addressBook.url, props: { [`${DAVNamespaceShort.DAV}:getetag`]: {} }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }) ).map((res) => (res.ok ? res.href ?? '' : '')) ) @@ -164,7 +174,7 @@ export const fetchVCards = async (params: { }, objectUrls: vcardUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { vCardResults = await addressBookQuery({ @@ -174,7 +184,7 @@ export const fetchVCards = async (params: { [`${DAVNamespaceShort.CARDDAV}:address-data`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -191,43 +201,52 @@ export const createVCard = async (params: { vCardString: string; filename: string; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { addressBook, vCardString, filename, headers } = params; + const { addressBook, vCardString, filename, headers, headersToExclude } = params; return createObject({ url: new URL(filename, addressBook.url).href, data: vCardString, - headers: { - 'content-type': 'text/vcard; charset=utf-8', - 'If-None-Match': '*', - ...headers, - }, + headers: excludeHeaders( + { + 'content-type': 'text/vcard; charset=utf-8', + 'If-None-Match': '*', + ...headers, + }, + headersToExclude, + ), }); }; export const updateVCard = async (params: { vCard: DAVVCard; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return updateObject({ url: vCard.url, data: vCard.data, etag: vCard.etag, - headers: { - 'content-type': 'text/vcard; charset=utf-8', - ...headers, - }, + headers: excludeHeaders( + { + 'content-type': 'text/vcard; charset=utf-8', + ...headers, + }, + headersToExclude, + ), }); }; export const deleteVCard = async (params: { vCard: DAVVCard; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { vCard, headers } = params; + const { vCard, headers, headersToExclude } = params; return deleteObject({ url: vCard.url, etag: vCard.etag, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }; diff --git a/src/calendar.ts b/src/calendar.ts index 08d25e6..034ba1d 100644 --- a/src/calendar.ts +++ b/src/calendar.ts @@ -11,6 +11,7 @@ import { DAVAccount, DAVCalendar, DAVCalendarObject } from './types/models'; import { cleanupFalsy, conditionalParam, + excludeHeaders, getDAVAttribute, urlContains, } from './util/requestHelpers'; @@ -25,8 +26,9 @@ export const calendarQuery = async (params: { timezone?: string; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, filters, timezone, depth, headers } = params; + const { url, props, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -44,7 +46,7 @@ export const calendarQuery = async (params: { }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }; @@ -56,8 +58,9 @@ export const calendarMultiGet = async (params: { depth: DAVDepth; filters?: ElementCompact; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, objectUrls, filters, timezone, depth, headers } = params; + const { url, props, objectUrls, filters, timezone, depth, headers, headersToExclude } = params; return collectionQuery({ url, body: { @@ -71,7 +74,7 @@ export const calendarMultiGet = async (params: { }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); }; @@ -80,13 +83,14 @@ export const makeCalendar = async (params: { props: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCALENDAR', - headers: cleanupFalsy({ depth, ...headers }), + headers: excludeHeaders(cleanupFalsy({ depth, ...headers }), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { [`${DAVNamespaceShort.CALDAV}:mkcalendar`]: { @@ -109,8 +113,9 @@ export const fetchCalendars = async (params?: { props?: ElementCompact; projectedProps?: Record; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { headers, account, props: customProps, projectedProps } = params ?? {}; + const { headers, account, props: customProps, projectedProps, headersToExclude } = params ?? {}; const requiredFields: Array<'homeUrl' | 'rootUrl'> = ['homeUrl', 'rootUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -134,7 +139,7 @@ export const fetchCalendars = async (params?: { [`${DAVNamespaceShort.DAV}:sync-token`]: {}, }, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return Promise.all( @@ -175,7 +180,10 @@ export const fetchCalendars = async (params?: { }) .map(async (cal) => ({ ...cal, - reports: await supportedReportSet({ collection: cal, headers }), + reports: await supportedReportSet({ + collection: cal, + headers: excludeHeaders(headers, headersToExclude), + }), })), ); }; @@ -188,6 +196,7 @@ export const fetchCalendarObjects = async (params: { expand?: boolean; urlFilter?: (url: string) => boolean; headers?: Record; + headersToExclude?: string[]; useMultiGet?: boolean; }): Promise => { const { @@ -199,6 +208,7 @@ export const fetchCalendarObjects = async (params: { expand, urlFilter = (url: string) => Boolean(url?.includes('.ics')), useMultiGet = true, + headersToExclude, } = params; if (timeRange) { @@ -286,7 +296,7 @@ export const fetchCalendarObjects = async (params: { }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }) ).map((res) => res.href ?? '') ) @@ -323,7 +333,7 @@ export const fetchCalendarObjects = async (params: { }, filters, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } else { calendarObjectResults = await calendarMultiGet({ @@ -351,7 +361,7 @@ export const fetchCalendarObjects = async (params: { }, objectUrls: calendarObjectUrls, depth: '1', - headers, + headers: excludeHeaders(headers, headersToExclude), }); } } @@ -368,41 +378,55 @@ export const createCalendarObject = async (params: { iCalString: string; filename: string; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { calendar, iCalString, filename, headers } = params; + const { calendar, iCalString, filename, headers, headersToExclude } = params; + return createObject({ url: new URL(filename, calendar.url).href, data: iCalString, - headers: { - 'content-type': 'text/calendar; charset=utf-8', - 'If-None-Match': '*', - ...headers, - }, + headers: excludeHeaders( + { + 'content-type': 'text/calendar; charset=utf-8', + 'If-None-Match': '*', + ...headers, + }, + headersToExclude, + ), }); }; export const updateCalendarObject = async (params: { calendarObject: DAVCalendarObject; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { calendarObject, headers } = params; + const { calendarObject, headers, headersToExclude } = params; return updateObject({ url: calendarObject.url, data: calendarObject.data, etag: calendarObject.etag, - headers: { - 'content-type': 'text/calendar; charset=utf-8', - ...headers, - }, + headers: excludeHeaders( + { + 'content-type': 'text/calendar; charset=utf-8', + ...headers, + }, + headersToExclude, + ), }); }; export const deleteCalendarObject = async (params: { calendarObject: DAVCalendarObject; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { calendarObject, headers } = params; - return deleteObject({ url: calendarObject.url, etag: calendarObject.etag, headers }); + const { calendarObject, headers, headersToExclude } = params; + return deleteObject({ + url: calendarObject.url, + etag: calendarObject.etag, + headers: excludeHeaders(headers, headersToExclude), + }); }; /** @@ -411,16 +435,20 @@ export const deleteCalendarObject = async (params: { export const syncCalendars: SyncCalendars = async (params: { oldCalendars: DAVCalendar[]; headers?: Record; + headersToExclude?: string[]; account?: DAVAccount; detailedResult?: boolean; }): Promise => { - const { oldCalendars, account, detailedResult, headers } = params; + const { oldCalendars, account, detailedResult, headers, headersToExclude } = params; if (!account) { throw new Error('Must have account before syncCalendars'); } const localCalendars = oldCalendars ?? account.calendars ?? []; - const remoteCalendars = await fetchCalendars({ account, headers }); + const remoteCalendars = await fetchCalendars({ + account, + headers: excludeHeaders(headers, headersToExclude), + }); // no existing url const created = remoteCalendars.filter((rc) => @@ -447,7 +475,7 @@ export const syncCalendars: SyncCalendars = async (params: { const result = await smartCollectionSync({ collection: { ...u, objectMultiGet: calendarMultiGet }, method: 'webdav', - headers, + headers: excludeHeaders(headers, headersToExclude), account, }); return result; @@ -482,8 +510,9 @@ export const freeBusyQuery = async (params: { timeRange: { start: string; end: string }; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, timeRange, depth, headers } = params; + const { url, timeRange, depth, headers, headersToExclude } = params; if (timeRange) { // validate timeRange @@ -514,7 +543,7 @@ export const freeBusyQuery = async (params: { }, defaultNamespace: DAVNamespaceShort.CALDAV, depth, - headers, + headers: excludeHeaders(headers, headersToExclude), }); return result[0]; }; diff --git a/src/collection.ts b/src/collection.ts index 325d792..2f2a278 100644 --- a/src/collection.ts +++ b/src/collection.ts @@ -7,7 +7,7 @@ import { davRequest, propfind } from './request'; import { DAVDepth, DAVResponse } from './types/DAVTypes'; import { SmartCollectionSync } from './types/functionsOverloads'; import { DAVAccount, DAVCollection, DAVObject } from './types/models'; -import { cleanupFalsy, getDAVAttribute, urlContains } from './util/requestHelpers'; +import { cleanupFalsy, excludeHeaders, getDAVAttribute, urlContains } from './util/requestHelpers'; import { findMissingFieldNames, hasFields, RequireAndNotNullSome } from './util/typeHelpers'; const debug = getLogger('tsdav:collection'); @@ -18,13 +18,21 @@ export const collectionQuery = async (params: { depth?: DAVDepth; defaultNamespace?: DAVNamespaceShort; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, body, depth, defaultNamespace = DAVNamespaceShort.DAV, headers } = params; + const { + url, + body, + depth, + defaultNamespace = DAVNamespaceShort.DAV, + headers, + headersToExclude, + } = params; const queryResults = await davRequest({ url, init: { method: 'REPORT', - headers: cleanupFalsy({ depth, ...headers }), + headers: excludeHeaders(cleanupFalsy({ depth, ...headers }), headersToExclude), namespace: defaultNamespace, body, }, @@ -43,13 +51,14 @@ export const makeCollection = async (params: { props?: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'MKCOL', - headers: cleanupFalsy({ depth, ...headers }), + headers: excludeHeaders(cleanupFalsy({ depth, ...headers }), headersToExclude), namespace: DAVNamespaceShort.DAV, body: props ? { @@ -67,15 +76,16 @@ export const makeCollection = async (params: { export const supportedReportSet = async (params: { collection: DAVCollection; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const res = await propfind({ url: collection.url, props: { [`${DAVNamespaceShort.DAV}:supported-report-set`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); return ( res[0]?.props?.supportedReportSet?.supportedReport?.map( @@ -87,18 +97,19 @@ export const supportedReportSet = async (params: { export const isCollectionDirty = async (params: { collection: DAVCollection; headers?: Record; + headersToExclude?: string[]; }): Promise<{ isDirty: boolean; newCtag: string; }> => { - const { collection, headers } = params; + const { collection, headers, headersToExclude } = params; const responses = await propfind({ url: collection.url, props: { [`${DAVNamespaceShort.CALENDAR_SERVER}:getctag`]: {}, }, depth: '0', - headers, + headers: excludeHeaders(headers, headersToExclude), }); const res = responses.filter((r) => urlContains(collection.url, r.href))[0]; if (!res) { @@ -117,16 +128,17 @@ export const syncCollection = (params: { url: string; props: ElementCompact; headers?: Record; + headersToExclude?: string[]; syncLevel?: number; syncToken?: string; }): Promise => { - const { url, props, headers, syncLevel, syncToken } = params; + const { url, props, headers, syncLevel, syncToken, headersToExclude } = params; return davRequest({ url, init: { method: 'REPORT', namespace: DAVNamespaceShort.DAV, - headers: { ...headers }, + headers: excludeHeaders({ ...headers }, headersToExclude), body: { 'sync-collection': { _attributes: getDAVAttribute([ @@ -148,10 +160,11 @@ export const smartCollectionSync: SmartCollectionSync = async ; + headersToExclude?: string[]; account?: DAVAccount; detailedResult?: boolean; }): Promise => { - const { collection, method, headers, account, detailedResult } = params; + const { collection, method, headers, headersToExclude, account, detailedResult } = params; const requiredFields: Array<'accountType' | 'homeUrl'> = ['accountType', 'homeUrl']; if (!account || !hasFields(account, requiredFields)) { if (!account) { @@ -181,7 +194,7 @@ export const smartCollectionSync: SmartCollectionSync = async => { @@ -206,7 +219,7 @@ export const smartCollectionSync: SmartCollectionSync = async diff --git a/src/request.ts b/src/request.ts index 12504f7..375ab2b 100644 --- a/src/request.ts +++ b/src/request.ts @@ -6,7 +6,7 @@ import { DAVNamespace, DAVNamespaceShort } from './consts'; import { DAVDepth, DAVRequest, DAVResponse } from './types/DAVTypes'; import { camelCase } from './util/camelCase'; import { nativeType } from './util/nativeType'; -import { cleanupFalsy, getDAVAttribute } from './util/requestHelpers'; +import { cleanupFalsy, excludeHeaders, getDAVAttribute } from './util/requestHelpers'; const debug = getLogger('tsdav:request'); @@ -170,13 +170,14 @@ export const propfind = async (params: { props: ElementCompact; depth?: DAVDepth; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, props, depth, headers } = params; + const { url, props, depth, headers, headersToExclude } = params; return davRequest({ url, init: { method: 'PROPFIND', - headers: cleanupFalsy({ depth, ...headers }), + headers: excludeHeaders(cleanupFalsy({ depth, ...headers }), headersToExclude), namespace: DAVNamespaceShort.DAV, body: { propfind: { @@ -198,9 +199,14 @@ export const createObject = async (params: { url: string; data: BodyInit; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, data, headers } = params; - return fetch(url, { method: 'PUT', body: data, headers }); + const { url, data, headers, headersToExclude } = params; + return fetch(url, { + method: 'PUT', + body: data, + headers: excludeHeaders(headers, headersToExclude), + }); }; export const updateObject = async (params: { @@ -208,12 +214,13 @@ export const updateObject = async (params: { data: BodyInit; etag?: string; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, data, etag, headers } = params; + const { url, data, etag, headers, headersToExclude } = params; return fetch(url, { method: 'PUT', body: data, - headers: cleanupFalsy({ 'If-Match': etag, ...headers }), + headers: excludeHeaders(cleanupFalsy({ 'If-Match': etag, ...headers }), headersToExclude), }); }; @@ -221,10 +228,11 @@ export const deleteObject = async (params: { url: string; etag?: string; headers?: Record; + headersToExclude?: string[]; }): Promise => { - const { url, headers, etag } = params; + const { url, headers, etag, headersToExclude } = params; return fetch(url, { method: 'DELETE', - headers: cleanupFalsy({ 'If-Match': etag, ...headers }), + headers: excludeHeaders(cleanupFalsy({ 'If-Match': etag, ...headers }), headersToExclude), }); }; diff --git a/src/util/requestHelpers.ts b/src/util/requestHelpers.ts index 82f5d01..c9f710b 100644 --- a/src/util/requestHelpers.ts +++ b/src/util/requestHelpers.ts @@ -55,3 +55,19 @@ export const conditionalParam = (key: string, param: T) => { } return {} as Record; }; + +export const excludeHeaders = ( + headers: Record | undefined, + headersToExclude: string[] | undefined, +): Record => { + if (!headers) { + return {}; + } + if (!headersToExclude || headersToExclude.length === 0) { + return headers; + } + + return Object.fromEntries( + Object.entries(headers).filter(([key]) => !headersToExclude.includes(key)), + ); +}; diff --git a/yarn.lock b/yarn.lock index 4e4defd..f15c620 100644 --- a/yarn.lock +++ b/yarn.lock @@ -591,10 +591,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" - integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -606,10 +606,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf" - integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ== +"@eslint/js@8.55.0": + version "8.55.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" + integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== "@humanwhocodes/config-array@^0.11.13": version "0.11.13" @@ -1022,65 +1022,70 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.0.tgz#5984f98288150a2c34928de023bbd122d61ce754" - integrity sha512-OINaBGY+Wc++U0rdr7BLuFClxcoWaVW3vQYqmQq6B3bqQ/2olkaoz+K8+af/Mmka/C2yN5j+L9scBkv4BtKsDA== - -"@rollup/rollup-android-arm64@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.0.tgz#8456a8c623cca4042ae4bf2ce03d875a02433191" - integrity sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w== - -"@rollup/rollup-darwin-arm64@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.0.tgz#76be6832eee21dabc28f84f9f54fbfcc66615992" - integrity sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w== - -"@rollup/rollup-darwin-x64@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.0.tgz#66bd162a3fea48cb1cef50cedccfbeee5685b444" - integrity sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.0.tgz#a0e6b2a1d67a4ba0c2a61985175f65c05abc5f73" - integrity sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg== - -"@rollup/rollup-linux-arm64-gnu@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.0.tgz#5434b844a47ba4e35602ee312de9f39b38b1777b" - integrity sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ== - -"@rollup/rollup-linux-arm64-musl@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.0.tgz#149cab95107821fe4ae46d5f2c0658c5b0e56b9c" - integrity sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA== - -"@rollup/rollup-linux-x64-gnu@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.0.tgz#6929bf3013e9d599605953ea1bc51f35376bfff7" - integrity sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q== - -"@rollup/rollup-linux-x64-musl@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.0.tgz#a17f5decabf05b74aad684de56cf43a72a289a0b" - integrity sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg== - -"@rollup/rollup-win32-arm64-msvc@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.0.tgz#f145f10c33aa187a11fd60933465be46667e6e42" - integrity sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA== - -"@rollup/rollup-win32-ia32-msvc@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.0.tgz#798614b191f9ce1dc58079d1dfbc234c71df9e0e" - integrity sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA== - -"@rollup/rollup-win32-x64-msvc@4.5.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.0.tgz#748970e066839e33ed8c935061e370c4ab050517" - integrity sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w== +"@rollup/rollup-android-arm-eabi@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.0.tgz#0437b27edd7095d0b6d5db99d13af8157d7c58b0" + integrity sha512-+1ge/xmaJpm1KVBuIH38Z94zj9fBD+hp+/5WLaHgyY8XLq1ibxk/zj6dTXaqM2cAbYKq8jYlhHd6k05If1W5xA== + +"@rollup/rollup-android-arm64@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.0.tgz#d4c14ef9e45d5c46b8d1f611ab8124a611d5be5b" + integrity sha512-im6hUEyQ7ZfoZdNvtwgEJvBWZYauC9KVKq1w58LG2Zfz6zMd8gRrbN+xCVoqA2hv/v6fm9lp5LFGJ3za8EQH3A== + +"@rollup/rollup-darwin-arm64@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.0.tgz#6f3fdf5712db6b5e3d8f62a86a09cd659dd871f9" + integrity sha512-u7aTMskN6Dmg1lCT0QJ+tINRt+ntUrvVkhbPfFz4bCwRZvjItx2nJtwJnJRlKMMaQCHRjrNqHRDYvE4mBm3DlQ== + +"@rollup/rollup-darwin-x64@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.0.tgz#626d7786fe7c10b2e8533ad981b4a791fd72b9d0" + integrity sha512-8FvEl3w2ExmpcOmX5RJD0yqXcVSOqAJJUJ29Lca29Ik+3zPS1yFimr2fr5JSZ4Z5gt8/d7WqycpgkX9nocijSw== + +"@rollup/rollup-linux-arm-gnueabihf@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.0.tgz#57ece7bb1b7659a3ea2ace580a63b8f92b3161f1" + integrity sha512-lHoKYaRwd4gge+IpqJHCY+8Vc3hhdJfU6ukFnnrJasEBUvVlydP8PuwndbWfGkdgSvZhHfSEw6urrlBj0TSSfg== + +"@rollup/rollup-linux-arm64-gnu@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.0.tgz#345b276b814a5377344adc5780c4dfb7cd0e8ba9" + integrity sha512-JbEPfhndYeWHfOSeh4DOFvNXrj7ls9S/2omijVsao+LBPTPayT1uKcK3dHW3MwDJ7KO11t9m2cVTqXnTKpeaiw== + +"@rollup/rollup-linux-arm64-musl@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.0.tgz#61cc6516e6e92e2205ea1d0ac30326379b0563c8" + integrity sha512-ahqcSXLlcV2XUBM3/f/C6cRoh7NxYA/W7Yzuv4bDU1YscTFw7ay4LmD7l6OS8EMhTNvcrWGkEettL1Bhjf+B+w== + +"@rollup/rollup-linux-riscv64-gnu@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.0.tgz#e9add70ddca7bd6f685ec447ae83eb3be552f211" + integrity sha512-uwvOYNtLw8gVtrExKhdFsYHA/kotURUmZYlinH2VcQxNCQJeJXnkmWgw2hI9Xgzhgu7J9QvWiq9TtTVwWMDa+w== + +"@rollup/rollup-linux-x64-gnu@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.0.tgz#ece153613f0cf2c864dbfc2076c579da8abd51a9" + integrity sha512-m6pkSwcZZD2LCFHZX/zW2aLIISyzWLU3hrLLzQKMI12+OLEzgruTovAxY5sCZJkipklaZqPy/2bEEBNjp+Y7xg== + +"@rollup/rollup-linux-x64-musl@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.0.tgz#2d2dbdf5fbf2c19d1f3d31b8a7850b57f5799037" + integrity sha512-VFAC1RDRSbU3iOF98X42KaVicAfKf0m0OvIu8dbnqhTe26Kh6Ym9JrDulz7Hbk7/9zGc41JkV02g+p3BivOdAg== + +"@rollup/rollup-win32-arm64-msvc@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.0.tgz#bf2dbad350376e46cb77fab408bb398ad5f3648d" + integrity sha512-9jPgMvTKXARz4inw6jezMLA2ihDBvgIU9Ml01hjdVpOcMKyxFBJrn83KVQINnbeqDv0+HdO1c09hgZ8N0s820Q== + +"@rollup/rollup-win32-ia32-msvc@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.0.tgz#5c26b07f74f4054f3ecf202550100496ed2e73f3" + integrity sha512-WE4pT2kTXQN2bAv40Uog0AsV7/s9nT9HBWXAou8+++MBCnY51QS02KYtm6dQxxosKi1VIz/wZIrTQO5UP2EW+Q== + +"@rollup/rollup-win32-x64-msvc@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.0.tgz#4ea610e0c40a07a8afa2977cbf80507f41c2271c" + integrity sha512-aPP5Q5AqNGuT0tnuEkK/g4mnt3ZhheiXrDIiSVIHN9mcN21OyXDVbEMqmXPE7e2OplNLDkcvV+ZoGJa2ZImFgw== "@sinclair/typebox@^0.25.16": version "0.25.24" @@ -1187,10 +1192,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@29.5.9": - version "29.5.9" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.9.tgz#eb997ab4a201b7504662ac9ebb84a748e17f95ab" - integrity sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ== +"@types/jest@29.5.11": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -1215,10 +1220,10 @@ resolved "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0" integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A== -"@types/node@20.9.3": - version "20.9.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.3.tgz#e089e1634436f676ff299596c9531bd2b59fffc6" - integrity sha512-nk5wXLAXGBKfrhLB0cyHGbSqopS+nz0BUgZkUQqSHSSgdee0kssp1IAqlQOu333bW+gMNs2QREx7iynm19Abxw== +"@types/node@20.10.4": + version "20.10.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.4.tgz#b246fd84d55d5b1b71bf51f964bd514409347198" + integrity sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg== dependencies: undici-types "~5.26.4" @@ -1249,16 +1254,16 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.12.0.tgz#2a647d278bb48bf397fef07ba0507612ff9dd812" - integrity sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA== +"@typescript-eslint/eslint-plugin@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b" + integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.12.0" - "@typescript-eslint/type-utils" "6.12.0" - "@typescript-eslint/utils" "6.12.0" - "@typescript-eslint/visitor-keys" "6.12.0" + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/type-utils" "6.14.0" + "@typescript-eslint/utils" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -1266,72 +1271,72 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.12.0.tgz#9fb21ed7d88065a4a2ee21eb80b8578debb8217c" - integrity sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg== +"@typescript-eslint/parser@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212" + integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA== dependencies: - "@typescript-eslint/scope-manager" "6.12.0" - "@typescript-eslint/types" "6.12.0" - "@typescript-eslint/typescript-estree" "6.12.0" - "@typescript-eslint/visitor-keys" "6.12.0" + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.12.0.tgz#5833a16dbe19cfbad639d4d33bcca5e755c7044b" - integrity sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw== +"@typescript-eslint/scope-manager@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48" + integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg== dependencies: - "@typescript-eslint/types" "6.12.0" - "@typescript-eslint/visitor-keys" "6.12.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" -"@typescript-eslint/type-utils@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.12.0.tgz#968f7c95162808d69950ab5dff710ad730e58287" - integrity sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng== +"@typescript-eslint/type-utils@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af" + integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw== dependencies: - "@typescript-eslint/typescript-estree" "6.12.0" - "@typescript-eslint/utils" "6.12.0" + "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/utils" "6.14.0" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/types@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.12.0.tgz#ffc5297bcfe77003c8b7b545b51c2505748314ac" - integrity sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q== +"@typescript-eslint/types@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929" + integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA== -"@typescript-eslint/typescript-estree@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.12.0.tgz#764ccc32598549e5b48ec99e3b85f89b1385310c" - integrity sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw== +"@typescript-eslint/typescript-estree@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13" + integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw== dependencies: - "@typescript-eslint/types" "6.12.0" - "@typescript-eslint/visitor-keys" "6.12.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.12.0.tgz#c6ce8c06fe9b0212620e5674a2036f6f8f611754" - integrity sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ== +"@typescript-eslint/utils@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3" + integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.12.0" - "@typescript-eslint/types" "6.12.0" - "@typescript-eslint/typescript-estree" "6.12.0" + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/typescript-estree" "6.14.0" semver "^7.5.4" -"@typescript-eslint/visitor-keys@6.12.0": - version "6.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.12.0.tgz#5877950de42a0f3344261b7a1eee15417306d7e9" - integrity sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw== +"@typescript-eslint/visitor-keys@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e" + integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw== dependencies: - "@typescript-eslint/types" "6.12.0" + "@typescript-eslint/types" "6.14.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": @@ -2397,10 +2402,10 @@ eslint-config-airbnb@19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== +eslint-config-prettier@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-import-resolver-node@^0.3.9: version "0.3.9" @@ -2472,15 +2477,15 @@ eslint-visitor-keys@^3.4.3: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@8.54.0: - version "8.54.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537" - integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA== +eslint@8.55.0: + version "8.55.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8" + integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.3" - "@eslint/js" "8.54.0" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.55.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -4614,10 +4619,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" - integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== +prettier@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" + integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== pretty-format@^29.0.0, pretty-format@^29.5.0: version "29.5.0" @@ -4879,23 +4884,24 @@ rollup-plugin-terser@7.0.2: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.5.0.tgz#358ee6947fe0e4c8bacdae6896539cade3107655" - integrity sha512-41xsWhzxqjMDASCxH5ibw1mXk+3c4TNI2UjKbLxe6iEzrSQnqOzmmK8/3mufCPbzHNJ2e04Fc1ddI35hHy+8zg== +rollup@4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.0.tgz#94dff4070f106c1be6b2e88401a49b023c87fa88" + integrity sha512-bUHW/9N21z64gw8s6tP4c88P382Bq/L5uZDowHlHx6s/QWpjJXivIAbEw6LZthgSvlEizZBfLC4OAvWe7aoF7A== optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.5.0" - "@rollup/rollup-android-arm64" "4.5.0" - "@rollup/rollup-darwin-arm64" "4.5.0" - "@rollup/rollup-darwin-x64" "4.5.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.5.0" - "@rollup/rollup-linux-arm64-gnu" "4.5.0" - "@rollup/rollup-linux-arm64-musl" "4.5.0" - "@rollup/rollup-linux-x64-gnu" "4.5.0" - "@rollup/rollup-linux-x64-musl" "4.5.0" - "@rollup/rollup-win32-arm64-msvc" "4.5.0" - "@rollup/rollup-win32-ia32-msvc" "4.5.0" - "@rollup/rollup-win32-x64-msvc" "4.5.0" + "@rollup/rollup-android-arm-eabi" "4.9.0" + "@rollup/rollup-android-arm64" "4.9.0" + "@rollup/rollup-darwin-arm64" "4.9.0" + "@rollup/rollup-darwin-x64" "4.9.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.9.0" + "@rollup/rollup-linux-arm64-gnu" "4.9.0" + "@rollup/rollup-linux-arm64-musl" "4.9.0" + "@rollup/rollup-linux-riscv64-gnu" "4.9.0" + "@rollup/rollup-linux-x64-gnu" "4.9.0" + "@rollup/rollup-linux-x64-musl" "4.9.0" + "@rollup/rollup-win32-arm64-msvc" "4.9.0" + "@rollup/rollup-win32-ia32-msvc" "4.9.0" + "@rollup/rollup-win32-x64-msvc" "4.9.0" fsevents "~2.3.2" run-applescript@^5.0.0: @@ -5471,10 +5477,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +typescript@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== unbox-primitive@^1.0.1: version "1.0.1"