diff --git a/apps/server/.babelrc b/apps/server/.babelrc new file mode 100644 index 0000000..cedf24f --- /dev/null +++ b/apps/server/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": [ + "@babel/preset-env" + ] +} \ No newline at end of file diff --git a/apps/server/.env b/apps/server/.env new file mode 100644 index 0000000..e69de29 diff --git a/apps/server/.env.dev b/apps/server/.env.dev new file mode 100644 index 0000000..a4912f2 --- /dev/null +++ b/apps/server/.env.dev @@ -0,0 +1,5 @@ +# 服务端口 +PORT=4000 + +# 静态资源 +ASSETS_URL=/ \ No newline at end of file diff --git a/apps/server/.env.prod b/apps/server/.env.prod new file mode 100644 index 0000000..1348a61 --- /dev/null +++ b/apps/server/.env.prod @@ -0,0 +1,5 @@ +# 服务端口 +PORT=7001 + +# 静态资源 +ASSETS_URL=https://cdn.com/backset/ diff --git a/apps/server/package.json b/apps/server/package.json index 21ab613..2ae8b66 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -7,23 +7,32 @@ "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", - "start:dev": "nest start --watch", - "start:debug": "nest start --debug --watch", - "start:prod": "node dist/main", - "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix" + "dev:be": "cross-env RUNNING_ENV=dev nest start --watch", + "prod:be": "cross-env RUNNING_ENV=prod node dist/main", + "dev:fe": "cross-env RUNNING_ENV=dev webpack -w", + "build:fe": "cross-env RUNNING_ENV=prod webpack build", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "new:page": "node ./script/new.page.js", + "new:mvc": "node ./script/new.mvc.js" }, "dependencies": { "@backset/util": "workspace:^1.0.0", "@nestjs/common": "^9.0.0", "@nestjs/core": "^9.0.0", + "@nestjs/config": "2.3.1", "@nestjs/platform-express": "^9.0.0", "reflect-metadata": "^0.1.13", - "rxjs": "^7.2.0" + "rxjs": "^7.2.0", + "@nestjs/mongoose": "7.2.4", + "mongoose": "5.13.15", + "mysql2": "3.0.1", + "typeorm": "0.3.11", + "axios": "0.27.2" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", - "@nestjs/testing": "^9.0.0", + "@nestjs/typeorm": "9.0.1", "@types/express": "^4.17.13", "@types/node": "18.11.18", "@typescript-eslint/eslint-plugin": "^5.0.0", @@ -33,26 +42,26 @@ "eslint-plugin-prettier": "^4.0.0", "prettier": "^2.3.2", "source-map-support": "^0.5.20", - "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.1", - "typescript": "^4.7.4" - }, - "jest": { - "moduleFileExtensions": [ - "js", - "json", - "ts" - ], - "rootDir": "src", - "testRegex": ".*\\.spec\\.ts$", - "transform": { - "^.+\\.(t|j)s$": "ts-jest" - }, - "collectCoverageFrom": [ - "**/*.(t|j)s" - ], - "coverageDirectory": "../coverage", - "testEnvironment": "node" + "typescript": "^4.7.4", + "webpack": "^5.75.0", + "webpack-cli": "^5.0.1", + "ts-loader": "9.4.2", + "css-loader": "6.7.3", + "url-loader": "4.1.1", + "@babel/core": "7.20.12", + "@babel/preset-env": "7.20.2", + "babel-loader": "8.1.0", + "less": "3.8.0", + "less-loader": "4.1.0", + "cross-env": "7.0.3", + "ejs": "3.1.8", + "mini-css-extract-plugin": "2.7.2", + "@types/mongoose": "^5.11.97", + "inquirer": "8.0.0", + "chalk": "4.1.2", + "copy-webpack-plugin": "5.1.2", + "cash-dom": "8.1.3" } } \ No newline at end of file diff --git a/apps/server/public/assets/font/backset.woff b/apps/server/public/assets/font/backset.woff new file mode 100644 index 0000000..a8c5475 Binary files /dev/null and b/apps/server/public/assets/font/backset.woff differ diff --git a/apps/server/public/assets/img/annotation.svg b/apps/server/public/assets/img/annotation.svg new file mode 100644 index 0000000..14d3686 --- /dev/null +++ b/apps/server/public/assets/img/annotation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/server/public/assets/img/logo.png b/apps/server/public/assets/img/logo.png new file mode 100644 index 0000000..6263c7e Binary files /dev/null and b/apps/server/public/assets/img/logo.png differ diff --git a/apps/server/public/assets/img/signup-banner.svg b/apps/server/public/assets/img/signup-banner.svg new file mode 100644 index 0000000..d155057 --- /dev/null +++ b/apps/server/public/assets/img/signup-banner.svg @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/server/public/d56def2696eccccc8cc0.woff b/apps/server/public/d56def2696eccccc8cc0.woff new file mode 100644 index 0000000..a8c5475 Binary files /dev/null and b/apps/server/public/d56def2696eccccc8cc0.woff differ diff --git a/apps/server/public/home.css b/apps/server/public/home.css new file mode 100644 index 0000000..00ce83b --- /dev/null +++ b/apps/server/public/home.css @@ -0,0 +1,4 @@ +/*!**************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ../../node_modules/.pnpm/css-loader@6.7.3_webpack@5.75.0/node_modules/css-loader/dist/cjs.js!../../node_modules/.pnpm/less-loader@4.1.0_less@3.8.0+webpack@5.75.0/node_modules/less-loader/dist/cjs.js!./src/view/page/home/index.less ***! + \**************************************************************************************************************************************************************************************************************************************************/ + diff --git a/apps/server/public/home.js b/apps/server/public/home.js new file mode 100644 index 0000000..1d27cbd --- /dev/null +++ b/apps/server/public/home.js @@ -0,0 +1,79 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./src/view/page/home/index.less": +/*!***************************************!*\ + !*** ./src/view/page/home/index.less ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/home/index.less?"); + +/***/ }), + +/***/ "./src/view/page/home/index.ts": +/*!*************************************!*\ + !*** ./src/view/page/home/index.ts ***! + \*************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__webpack_require__(/*! ./index.less */ \"./src/view/page/home/index.less\");\nconsole.log('use ts wepack');\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/home/index.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./src/view/page/home/index.ts"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/apps/server/public/login.css b/apps/server/public/login.css new file mode 100644 index 0000000..17ae47e --- /dev/null +++ b/apps/server/public/login.css @@ -0,0 +1,4319 @@ +/*!***************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ../../node_modules/.pnpm/css-loader@6.7.3_webpack@5.75.0/node_modules/css-loader/dist/cjs.js!../../node_modules/.pnpm/less-loader@4.1.0_less@3.8.0+webpack@5.75.0/node_modules/less-loader/dist/cjs.js!./src/view/page/login/index.less ***! + \***************************************************************************************************************************************************************************************************************************************************/ +/*! Spectre.css | MIT License | github.com/picturepan2/spectre */ +/* Manually forked from Normalize.css */ +/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +/* Document + ========================================================================== */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 3 */ + -webkit-text-size-adjust: 100%; + /* 3 */ +} +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +body { + margin: 0; +} +/** + * Add the correct display in IE 9-. + */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ +figcaption, +figure, +main { + /* 1 */ + display: block; +} +/** + * Add the correct margin in IE 8 (removed). + */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. (removed) + * 2. Correct the odd `em` font sizing in all browsers. + */ +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ +a:active, +a:hover { + outline-width: 0; +} +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) + */ +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +b, +strong { + font-weight: inherit; +} +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace; + /* 1 (changed) */ + font-size: 1em; + /* 2 */ +} +/** + * Add the correct font style in Android 4.3-. + */ +dfn { + font-style: italic; +} +/** + * Add the correct background and color in IE 9-. (Removed) + */ +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; + font-weight: 400; + /* (added) */ +} +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +audio, +video { + display: inline-block; +} +/** + * Add the correct display in iOS 4-7. + */ +audio:not([controls]) { + display: none; + height: 0; +} +/** + * Remove the border on images inside links in IE 10-. + */ +img { + border-style: none; +} +/** + * Hide the overflow in IE. + */ +svg:not(:root) { + overflow: hidden; +} +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 (changed) */ + font-size: inherit; + /* 1 (changed) */ + line-height: inherit; + /* 1 (changed) */ + margin: 0; + /* 2 */ +} +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +/** + * Restore the focus styles unset by the previous rule (removed). + */ +/** + * Change the border, margin, and padding in all browsers (opinionated) (changed). + */ +fieldset { + border: 0; + margin: 0; + padding: 0; +} +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} +/** + * Remove the default vertical scrollbar in IE. + */ +textarea { + overflow: auto; +} +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} +/* Interactive + ========================================================================== */ +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ +details, +menu { + display: block; +} +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +canvas { + display: inline-block; +} +/** + * Add the correct display in IE. + */ +template { + display: none; +} +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +[hidden] { + display: none; +} +*, +*::before, +*::after { + box-sizing: inherit; +} +html { + box-sizing: border-box; + font-size: 20px; + line-height: 1.42857143; + -webkit-tap-highlight-color: transparent; +} +body { + background: #fff; + color: #50596c; + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; + font-size: 0.7rem; + overflow-x: hidden; + text-rendering: optimizeLegibility; +} +a { + color: #121212; + outline: none; + text-decoration: none; +} +a:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +a:focus, +a:hover, +a:active, +a.active { + color: #050505; + text-decoration: underline; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: inherit; + font-weight: 500; + line-height: 1.2; + margin-bottom: 0.25em; + margin-top: 0; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-weight: 500; +} +h1, +.h1 { + font-size: 2rem; +} +h2, +.h2 { + font-size: 1.6rem; +} +h3, +.h3 { + font-size: 1.4rem; +} +h4, +.h4 { + font-size: 1.2rem; +} +h5, +.h5 { + font-size: 1rem; +} +h6, +.h6 { + font-size: 0.8rem; +} +p { + line-height: 1.2rem; + margin: 0 0 0.8rem; +} +a, +ins, +u { + text-decoration-skip: ink edges; +} +abbr[title] { + border-bottom: 0.05rem dotted; + cursor: help; + text-decoration: none; +} +kbd { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #454d5d; + color: #fff; +} +mark { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #ffe9b3; + color: #50596c; +} +blockquote { + border-left: 0.1rem solid #e7e9ed; + margin-left: 0; + padding: 0.4rem 0.8rem; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol { + margin: 0.8rem 0 0.8rem 0.8rem; + padding: 0; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin: 0.8rem 0 0.8rem 0.8rem; +} +ul li, +ol li { + margin-top: 0.4rem; +} +ul { + list-style: disc inside; +} +ul ul { + list-style-type: circle; +} +ol { + list-style: decimal inside; +} +ol ol { + list-style-type: lower-alpha; +} +dl dt { + font-weight: bold; +} +dl dd { + margin: 0.4rem 0 0.8rem 0; +} +:lang(zh) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif; +} +:lang(ja) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif; +} +:lang(ko) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif; +} +:lang(zh) ins, +:lang(ja) ins, +.cjk ins, +:lang(zh) u, +:lang(ja) u, +.cjk u { + border-bottom: 0.05rem solid; + text-decoration: none; +} +:lang(zh) del + del, +:lang(ja) del + del, +.cjk del + del, +:lang(zh) del + s, +:lang(ja) del + s, +.cjk del + s, +:lang(zh) ins + ins, +:lang(ja) ins + ins, +.cjk ins + ins, +:lang(zh) ins + u, +:lang(ja) ins + u, +.cjk ins + u, +:lang(zh) s + del, +:lang(ja) s + del, +.cjk s + del, +:lang(zh) s + s, +:lang(ja) s + s, +.cjk s + s, +:lang(zh) u + ins, +:lang(ja) u + ins, +.cjk u + ins, +:lang(zh) u + u, +:lang(ja) u + u, +.cjk u + u { + margin-left: 0.125em; +} +.table { + border-collapse: collapse; + border-spacing: 0; + text-align: left; + width: 100%; +} +.table.table-striped tbody tr:nth-of-type(odd) { + background: #f8f9fa; +} +.table.table-hover tbody tr:hover { + background: #f0f1f4; +} +.table tbody tr.active, +.table.table-striped tbody tr.active { + background: #f0f1f4; +} +.table td, +.table th { + border-bottom: 0.05rem solid #e7e9ed; + padding: 0.6rem 0.4rem; +} +.table th { + border-bottom-width: 0.1rem; +} +.btn { + appearance: none; + background: #fff; + border: 0.05rem solid #121212; + border-radius: 0.1rem; + color: #121212; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + text-align: center; + text-decoration: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.btn:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.btn:focus, +.btn:hover { + background: #787878; + border-color: #0a0a0a; + text-decoration: none; +} +.btn:active, +.btn.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; + text-decoration: none; +} +.btn:active.loading::after, +.btn.active.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn[disabled], +.btn:disabled, +.btn.disabled { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.btn.btn-primary { + background: #121212; + border-color: #0a0a0a; + color: #fff; +} +.btn.btn-primary:focus, +.btn.btn-primary:hover { + background: #050505; + border-color: #000000; + color: #fff; +} +.btn.btn-primary:active, +.btn.btn-primary.active { + background: #000000; + border-color: #000000; + color: #fff; +} +.btn.btn-primary.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn.btn-link { + background: transparent; + border-color: transparent; + color: #121212; +} +.btn.btn-link:focus, +.btn.btn-link:hover, +.btn.btn-link:active, +.btn.btn-link.active { + color: #050505; +} +.btn.btn-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.3rem; +} +.btn.btn-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.6rem; +} +.btn.btn-block { + display: block; + width: 100%; +} +.btn.btn-action { + width: 1.6rem; + padding-left: 0; + padding-right: 0; +} +.btn.btn-action.btn-sm { + width: 1.2rem; +} +.btn.btn-action.btn-lg { + width: 2rem; +} +.btn.btn-clear { + background: transparent; + border: 0; + color: currentColor; + height: 0.8rem; + line-height: 0.8rem; + margin-left: 0.2rem; + margin-right: -2px; + opacity: 0.45; + padding: 0 2px; + text-decoration: none; + width: 0.8rem; +} +.btn.btn-clear:hover { + opacity: 0.85; +} +.btn.btn-clear::before { + content: "\2715"; +} +.btn-group { + display: inline-flex; + flex-wrap: wrap; +} +.btn-group .btn { + flex: 1 0 auto; +} +.btn-group .btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group .btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:focus, +.btn-group .btn:hover, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 1; +} +.btn-group.btn-group-block { + display: flex; +} +.btn-group.btn-group-block .btn { + flex: 1 0 0; +} +.form-group:not(:last-child) { + margin-bottom: 0.4rem; +} +fieldset { + margin-bottom: 0.8rem; +} +legend { + font-size: 0.8rem; + font-weight: 500; + margin-bottom: 0.8rem; +} +.form-label { + display: block; + padding: 0.3rem 0; +} +.form-label.label-sm { + padding: 0.1rem 0; +} +.form-label.label-lg { + padding: 0.5rem 0; +} +.form-input { + appearance: none; + background: #fff; + background-image: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: #50596c; + transition: all 0.2s ease; + display: block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + max-width: 100%; + outline: none; + padding: 0.25rem 0.4rem; + position: relative; + width: 100%; +} +.form-input:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-input::placeholder { + color: #acb3c2; +} +.form-input.input-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.4rem; +} +.form-input.input-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.4rem; +} +.form-input.input-inline { + display: inline-block; + vertical-align: middle; + width: auto; +} +textarea.form-input { + height: auto; +} +.form-input[type="file"] { + height: auto; +} +.form-input-hint { + color: #acb3c2; + font-size: 0.6rem; + margin-top: 0.2rem; +} +.has-success .form-input-hint, +.is-success + .form-input-hint { + color: #32b643; +} +.has-error .form-input-hint, +.is-error + .form-input-hint { + color: #e85600; +} +.form-select { + appearance: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: inherit; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + vertical-align: middle; + width: 100%; +} +.form-select[size], +.form-select[multiple] { + height: auto; +} +.form-select[size] option, +.form-select[multiple] option { + padding: 0.1rem 0.2rem; +} +.form-select:not([multiple]):not([size]) { + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27%3E%3Cpath fill=%27%23667189%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3E%3C/svg%3E") no-repeat right 0.35rem center / 0.4rem 0.5rem; + padding-right: 1.1rem; +} +.form-select:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-select::-ms-expand { + display: none; +} +.form-select.select-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 1.1rem 0.05rem 0.4rem; +} +.form-select.select-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 1.1rem 0.45rem 0.4rem; +} +.has-icon-left, +.has-icon-right { + position: relative; +} +.has-icon-left .form-icon, +.has-icon-right .form-icon { + height: 0.7rem; + margin: 0 0.25rem; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 0.7rem; +} +.has-icon-left .form-icon { + left: 0.05rem; +} +.has-icon-left .form-input { + padding-left: 1.2rem; +} +.has-icon-right .form-icon { + right: 0.05rem; +} +.has-icon-right .form-input { + padding-right: 1.2rem; +} +.form-checkbox, +.form-radio, +.form-switch { + display: inline-block; + line-height: 1rem; + padding: 0.1rem 1.1rem; + position: relative; +} +.form-checkbox input, +.form-radio input, +.form-switch input { + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + width: 1px; +} +.form-checkbox input:focus + .form-icon, +.form-radio input:focus + .form-icon, +.form-switch input:focus + .form-icon { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-checkbox input:checked + .form-icon, +.form-radio input:checked + .form-icon, +.form-switch input:checked + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox .form-icon, +.form-radio .form-icon, +.form-switch .form-icon { + border: 0.05rem solid #caced7; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + position: absolute; +} +.form-checkbox .form-icon, +.form-radio .form-icon { + background: #fff; + height: 0.7rem; + left: 0; + top: 0.25rem; + width: 0.7rem; +} +.form-checkbox input:active + .form-icon, +.form-radio input:active + .form-icon { + background: #f0f1f4; +} +.form-checkbox .form-icon { + border-radius: 0.1rem; +} +.form-checkbox input:checked + .form-icon::before { + background-clip: padding-box; + border: 0.1rem solid #fff; + border-left-width: 0; + border-top-width: 0; + content: ""; + height: 10px; + left: 50%; + margin-left: -3px; + margin-top: -6px; + position: absolute; + top: 50%; + transform: rotate(45deg); + width: 6px; +} +.form-checkbox input:indeterminate + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox input:indeterminate + .form-icon::before { + background: #fff; + content: ""; + height: 2px; + left: 50%; + margin-left: -5px; + margin-top: -1px; + position: absolute; + top: 50%; + width: 10px; +} +.form-radio .form-icon { + border-radius: 0.35rem; +} +.form-radio input:checked + .form-icon::before { + background: #fff; + border-radius: 0.1rem; + content: ""; + height: 4px; + left: 50%; + margin-left: -2px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 4px; +} +.form-switch { + padding-left: 2rem; +} +.form-switch .form-icon { + background: #e7e9ed; + background-clip: padding-box; + border-radius: 0.45rem; + height: 0.9rem; + left: 0; + top: 0.15rem; + width: 1.6rem; +} +.form-switch .form-icon::before { + background: #fff; + border-radius: 0.4rem; + content: ""; + display: block; + height: 0.8rem; + left: 0; + position: absolute; + top: 0; + transition: all 0.2s ease; + width: 0.8rem; +} +.form-switch input:checked + .form-icon::before { + left: 14px; +} +.form-switch input:active + .form-icon::before { + background: #f8f9fa; +} +.input-group { + display: flex; +} +.input-group .input-group-addon { + background: #f8f9fa; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + line-height: 1rem; + padding: 0.25rem 0.4rem; +} +.input-group .input-group-addon.addon-sm { + font-size: 0.6rem; + padding: 0.05rem 0.4rem; +} +.input-group .input-group-addon.addon-lg { + font-size: 0.8rem; + padding: 0.45rem 0.4rem; +} +.input-group .form-input, +.input-group .form-select { + flex: 1 1 auto; +} +.input-group .input-group-btn { + z-index: 1; +} +.input-group .form-input:first-child:not(:last-child), +.input-group .form-select:first-child:not(:last-child), +.input-group .input-group-addon:first-child:not(:last-child), +.input-group .input-group-btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group .form-input:not(:first-child):not(:last-child), +.input-group .form-select:not(:first-child):not(:last-child), +.input-group .input-group-addon:not(:first-child):not(:last-child), +.input-group .input-group-btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:last-child:not(:first-child), +.input-group .form-select:last-child:not(:first-child), +.input-group .input-group-addon:last-child:not(:first-child), +.input-group .input-group-btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:focus, +.input-group .form-select:focus, +.input-group .input-group-addon:focus, +.input-group .input-group-btn:focus { + z-index: 2; +} +.input-group .form-select { + width: auto; +} +.input-group.input-inline { + display: inline-flex; +} +.has-success .form-input, +.has-success .form-select, +.form-input.is-success, +.form-select.is-success { + border-color: #32b643; +} +.has-success .form-input:focus, +.has-success .form-select:focus, +.form-input.is-success:focus, +.form-select.is-success:focus { + box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2); +} +.has-error .form-input, +.has-error .form-select, +.form-input.is-error, +.form-select.is-error { + border-color: #e85600; +} +.has-error .form-input:focus, +.has-error .form-select:focus, +.form-input.is-error:focus, +.form-select.is-error:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.has-error .form-checkbox .form-icon, +.has-error .form-radio .form-icon, +.has-error .form-switch .form-icon, +.form-checkbox.is-error .form-icon, +.form-radio.is-error .form-icon, +.form-switch.is-error .form-icon { + border-color: #e85600; +} +.has-error .form-checkbox input:checked + .form-icon, +.has-error .form-radio input:checked + .form-icon, +.has-error .form-switch input:checked + .form-icon, +.form-checkbox.is-error input:checked + .form-icon, +.form-radio.is-error input:checked + .form-icon, +.form-switch.is-error input:checked + .form-icon { + background: #e85600; + border-color: #e85600; +} +.has-error .form-checkbox input:focus + .form-icon, +.has-error .form-radio input:focus + .form-icon, +.has-error .form-switch input:focus + .form-icon, +.form-checkbox.is-error input:focus + .form-icon, +.form-radio.is-error input:focus + .form-icon, +.form-switch.is-error input:focus + .form-icon { + border-color: #e85600; + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid { + border-color: #e85600; +} +.form-input:not(:placeholder-shown):invalid:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid + .form-input-hint { + color: #e85600; +} +.form-input:disabled, +.form-select:disabled, +.form-input.disabled, +.form-select.disabled { + background-color: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-input[readonly] { + background-color: #f8f9fa; +} +input:disabled + .form-icon, +input.disabled + .form-icon { + background: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-switch input:disabled + .form-icon::before, +.form-switch input.disabled + .form-icon::before { + background: #fff; +} +.form-horizontal { + padding: 0.4rem; +} +.form-horizontal .form-group { + display: flex; +} +.form-horizontal .form-checkbox, +.form-horizontal .form-radio, +.form-horizontal .form-switch { + margin: 0.2rem 0; +} +.label { + display: inline-block; + border-radius: 0.1rem; + padding: 0.15rem 0.2rem; + background: #f8f9fa; + color: #5b657a; + line-height: 1; +} +.label.label-rounded { + border-radius: 5rem; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.label.label-primary { + background: #121212; + color: #fff; +} +.label.label-secondary { + background: #787878; + color: #121212; +} +.label.label-success { + background: #32b643; + color: #fff; +} +.label.label-warning { + background: #ffb700; + color: #fff; +} +.label.label-error { + background: #e85600; + color: #fff; +} +code { + font-size: 0.65rem; + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #fdf4f4; + color: #e06870; +} +.code { + border-radius: 0.1rem; + color: #50596c; + line-height: 1rem; + position: relative; +} +.code::before { + content: attr(data-lang); + color: #acb3c2; + font-size: 0.6rem; + position: absolute; + right: 0.4rem; + top: 0.1rem; +} +.code code { + background: #f8f9fa; + color: inherit; + display: block; + line-height: inherit; + overflow-x: auto; + padding: 1rem; + width: 100%; +} +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} +.img-fit-cover { + object-fit: cover; +} +.img-fit-contain { + object-fit: contain; +} +.video-responsive { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.video-responsive::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.video-responsive iframe, +.video-responsive object, +.video-responsive embed { + border: 0; + bottom: 0; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.video-responsive video { + height: auto; + max-width: 100%; + width: 100%; +} +.video-responsive-4-3::before { + padding-bottom: 75%; +} +.video-responsive-1-1::before { + padding-bottom: 100%; +} +.figure { + margin: 0 0 0.4rem 0; +} +.figure .figure-caption { + color: #727e96; + margin-top: 0.4rem; +} +.container { + margin-left: auto; + margin-right: auto; + padding-left: 0.4rem; + padding-right: 0.4rem; + width: 100%; +} +.container.grid-xl { + max-width: 1296px; +} +.container.grid-lg { + max-width: 976px; +} +.container.grid-md { + max-width: 856px; +} +.container.grid-sm { + max-width: 616px; +} +.container.grid-xs { + max-width: 496px; +} +.show-xs, +.show-sm, +.show-md, +.show-lg, +.show-xl { + display: none !important; +} +.columns { + display: flex; + flex-wrap: wrap; + margin-left: -0.4rem; + margin-right: -0.4rem; +} +.columns.col-gapless { + margin-left: 0; + margin-right: 0; +} +.columns.col-gapless > .column { + padding-left: 0; + padding-right: 0; +} +.columns.col-oneline { + flex-wrap: nowrap; + overflow-x: auto; +} +.column { + flex: 1; + max-width: 100%; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.column.col-12, +.column.col-11, +.column.col-10, +.column.col-9, +.column.col-8, +.column.col-7, +.column.col-6, +.column.col-5, +.column.col-4, +.column.col-3, +.column.col-2, +.column.col-1 { + flex: none; +} +.col-12 { + width: 100%; +} +.col-11 { + width: 91.66666667%; +} +.col-10 { + width: 83.33333333%; +} +.col-9 { + width: 75%; +} +.col-8 { + width: 66.66666667%; +} +.col-7 { + width: 58.33333333%; +} +.col-6 { + width: 50%; +} +.col-5 { + width: 41.66666667%; +} +.col-4 { + width: 33.33333333%; +} +.col-3 { + width: 25%; +} +.col-2 { + width: 16.66666667%; +} +.col-1 { + width: 8.33333333%; +} +.col-auto { + flex: 0 0 auto; + max-width: none; + width: auto; +} +.col-mx-auto { + margin-left: auto; + margin-right: auto; +} +.col-ml-auto { + margin-left: auto; +} +.col-mr-auto { + margin-right: auto; +} +@media screen and (max-width: 1280px) { + .col-xl-12, + .col-xl-11, + .col-xl-10, + .col-xl-9, + .col-xl-8, + .col-xl-7, + .col-xl-6, + .col-xl-5, + .col-xl-4, + .col-xl-3, + .col-xl-2, + .col-xl-1 { + flex: none; + } + .col-xl-12 { + width: 100%; + } + .col-xl-11 { + width: 91.66666667%; + } + .col-xl-10 { + width: 83.33333333%; + } + .col-xl-9 { + width: 75%; + } + .col-xl-8 { + width: 66.66666667%; + } + .col-xl-7 { + width: 58.33333333%; + } + .col-xl-6 { + width: 50%; + } + .col-xl-5 { + width: 41.66666667%; + } + .col-xl-4 { + width: 33.33333333%; + } + .col-xl-3 { + width: 25%; + } + .col-xl-2 { + width: 16.66666667%; + } + .col-xl-1 { + width: 8.33333333%; + } + .hide-xl { + display: none !important; + } + .show-xl { + display: block !important; + } +} +@media screen and (max-width: 960px) { + .col-lg-12, + .col-lg-11, + .col-lg-10, + .col-lg-9, + .col-lg-8, + .col-lg-7, + .col-lg-6, + .col-lg-5, + .col-lg-4, + .col-lg-3, + .col-lg-2, + .col-lg-1 { + flex: none; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .hide-lg { + display: none !important; + } + .show-lg { + display: block !important; + } +} +@media screen and (max-width: 840px) { + .col-md-12, + .col-md-11, + .col-md-10, + .col-md-9, + .col-md-8, + .col-md-7, + .col-md-6, + .col-md-5, + .col-md-4, + .col-md-3, + .col-md-2, + .col-md-1 { + flex: none; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .hide-md { + display: none !important; + } + .show-md { + display: block !important; + } +} +@media screen and (max-width: 600px) { + .col-sm-12, + .col-sm-11, + .col-sm-10, + .col-sm-9, + .col-sm-8, + .col-sm-7, + .col-sm-6, + .col-sm-5, + .col-sm-4, + .col-sm-3, + .col-sm-2, + .col-sm-1 { + flex: none; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .hide-sm { + display: none !important; + } + .show-sm { + display: block !important; + } +} +@media screen and (max-width: 480px) { + .col-xs-12, + .col-xs-11, + .col-xs-10, + .col-xs-9, + .col-xs-8, + .col-xs-7, + .col-xs-6, + .col-xs-5, + .col-xs-4, + .col-xs-3, + .col-xs-2, + .col-xs-1 { + flex: none; + } + .col-xs-12 { + width: 100%; + } + .col-xs-11 { + width: 91.66666667%; + } + .col-xs-10 { + width: 83.33333333%; + } + .col-xs-9 { + width: 75%; + } + .col-xs-8 { + width: 66.66666667%; + } + .col-xs-7 { + width: 58.33333333%; + } + .col-xs-6 { + width: 50%; + } + .col-xs-5 { + width: 41.66666667%; + } + .col-xs-4 { + width: 33.33333333%; + } + .col-xs-3 { + width: 25%; + } + .col-xs-2 { + width: 16.66666667%; + } + .col-xs-1 { + width: 8.33333333%; + } + .hide-xs { + display: none !important; + } + .show-xs { + display: block !important; + } +} +.navbar { + align-items: stretch; + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.navbar .navbar-section { + align-items: center; + display: flex; + flex: 1 0 0; +} +.navbar .navbar-section:last-child { + justify-content: flex-end; +} +.navbar .navbar-center { + align-items: center; + display: flex; + flex: 0 0 auto; +} +.navbar .navbar-brand { + font-size: 0.8rem; + font-weight: 500; + text-decoration: none; +} +.panel { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.panel .panel-header, +.panel .panel-footer { + flex: 0 0 auto; + padding: 0.8rem; +} +.panel .panel-nav { + flex: 0 0 auto; +} +.panel .panel-body { + flex: 1 1 auto; + overflow-y: auto; + padding: 0 0.8rem; +} +.empty { + background: #f8f9fa; + border-radius: 0.1rem; + color: #727e96; + text-align: center; + padding: 1.6rem; +} +.empty .empty-icon { + margin-bottom: 0.8rem; +} +.empty .empty-title, +.empty .empty-subtitle { + margin: 0.4rem auto; +} +.empty .empty-action { + margin-top: 0.8rem; +} +.accordion .accordion-item input:checked ~ .accordion-header .icon { + transform: rotate(90deg); +} +.accordion .accordion-item input:checked ~ .accordion-body { + max-height: 1000px; +} +.accordion .accordion-item .accordion-header { + display: block; + padding: 0.2rem 0.4rem; +} +.accordion .accordion-item .accordion-header .icon { + transition: all 0.2s ease; +} +.accordion .accordion-item .accordion-body { + margin-bottom: 0.4rem; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease; +} +.form-autocomplete { + position: relative; +} +.form-autocomplete .form-autocomplete-input { + align-content: flex-start; + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 1.6rem; + padding: 0.1rem; +} +.form-autocomplete .form-autocomplete-input.is-focused { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-autocomplete .form-autocomplete-input .form-input { + border-color: transparent; + box-shadow: none; + display: inline-block; + flex: 1 0 auto; + height: 1.2rem; + line-height: 0.8rem; + margin: 0.1rem; + width: auto; +} +.form-autocomplete mark { + font-size: 1; + padding: 0.1em 0; +} +.form-autocomplete .menu { + left: 0; + position: absolute; + top: 100%; + width: 100%; +} +.avatar { + font-size: 0.8rem; + height: 1.6rem; + width: 1.6rem; + background: #121212; + border-radius: 50%; + color: rgba(255, 255, 255, 0.85); + display: inline-block; + font-weight: 300; + line-height: 1; + margin: 0; + position: relative; + vertical-align: middle; +} +.avatar.avatar-xs { + font-size: 0.4rem; + height: 0.8rem; + width: 0.8rem; +} +.avatar.avatar-sm { + font-size: 0.6rem; + height: 1.2rem; + width: 1.2rem; +} +.avatar.avatar-lg { + font-size: 1.2rem; + height: 2.4rem; + width: 2.4rem; +} +.avatar.avatar-xl { + font-size: 1.6rem; + height: 3.2rem; + width: 3.2rem; +} +.avatar img { + border-radius: 50%; + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.avatar .avatar-icon, +.avatar .avatar-presence { + background: #fff; + bottom: 14.64%; + height: 50%; + padding: 0.1rem; + position: absolute; + right: 14.64%; + transform: translate(50%, 50%); + width: 50%; + z-index: 2; +} +.avatar .avatar-presence { + background: #acb3c2; + box-shadow: 0 0 0 0.1rem #fff; + border-radius: 50%; + height: 0.5em; + width: 0.5em; +} +.avatar .avatar-presence.online { + background: #32b643; +} +.avatar .avatar-presence.busy { + background: #e85600; +} +.avatar .avatar-presence.away { + background: #ffb700; +} +.avatar[data-initial]::before { + color: currentColor; + content: attr(data-initial); + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + z-index: 1; +} +.badge { + position: relative; + white-space: nowrap; +} +.badge[data-badge]::after, +.badge:not([data-badge])::after { + background: #121212; + background-clip: padding-box; + border-radius: 0.5rem; + box-shadow: 0 0 0 0.1rem #fff; + color: #fff; + content: attr(data-badge); + display: inline-block; + transform: translate(-0.1rem, -0.5rem); +} +.badge[data-badge]::after { + font-size: 0.6rem; + height: 18px; + line-height: 1; + min-width: 18px; + padding: 3px 5px; + text-align: center; + white-space: nowrap; +} +.badge:not([data-badge])::after, +.badge[data-badge='']::after { + height: 6px; + min-width: 6px; + padding: 0; + width: 6px; +} +.badge.btn::after { + position: absolute; + top: 0; + right: 0; + transform: translate(50%, -50%); +} +.badge.avatar::after { + position: absolute; + top: 14.64%; + right: 14.64%; + transform: translate(50%, -50%); + z-index: 100; +} +.badge.avatar-xs::after { + content: ""; + height: 0.4rem; + min-width: 0.4rem; + padding: 0; + width: 0.4rem; +} +.breadcrumb { + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item { + color: #727e96; + display: inline-block; + margin: 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item:not(:last-child) { + margin-right: 0.2rem; +} +.breadcrumb .breadcrumb-item:not(:last-child) a { + color: #727e96; +} +.breadcrumb .breadcrumb-item:not(:first-child)::before { + color: #e7e9ed; + content: "/"; + padding-right: 0.2rem; +} +.bar { + background: #f0f1f4; + border-radius: 0.1rem; + display: flex; + flex-wrap: nowrap; + height: 0.8rem; + width: 100%; +} +.bar.bar-sm { + height: 0.2rem; +} +.bar .bar-item { + background: #121212; + color: #fff; + display: block; + font-size: 0.6rem; + flex-shrink: 0; + line-height: 0.8rem; + height: 100%; + position: relative; + text-align: center; + width: 0; +} +.bar .bar-item:first-child { + border-bottom-left-radius: 0.1rem; + border-top-left-radius: 0.1rem; +} +.bar .bar-item:last-child { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; + flex-shrink: 1; +} +.bar-slider { + height: 0.1rem; + margin: 0.4rem 0; + position: relative; +} +.bar-slider .bar-item { + left: 0; + padding: 0; + position: absolute; +} +.bar-slider .bar-item:not(:last-child):first-child { + background: #f0f1f4; + z-index: 1; +} +.bar-slider .bar-slider-btn { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + padding: 0; + position: absolute; + right: 0; + top: 50%; + transform: translate(50%, -50%); + width: 0.6rem; +} +.bar-slider .bar-slider-btn:active { + box-shadow: 0 0 0 0.1rem #121212; +} +.card { + background: #fff; + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.card .card-header, +.card .card-body, +.card .card-footer { + padding: 0.8rem; + padding-bottom: 0; +} +.card .card-header:last-child, +.card .card-body:last-child, +.card .card-footer:last-child { + padding-bottom: 0.8rem; +} +.card .card-image { + padding-top: 0.8rem; +} +.card .card-image:first-child { + padding-top: 0; +} +.card .card-image:first-child img { + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.card .card-image:last-child img { + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; +} +.chip { + align-items: center; + background: #f0f1f4; + border-radius: 5rem; + color: #727e96; + display: inline-flex; + height: 1.2rem; + margin: 0.1rem; + max-width: 100%; + padding: 0.1rem 0.5rem; + text-decoration: none; + vertical-align: middle; +} +.chip.active { + background: #121212; + color: #fff; +} +.chip .avatar { + margin-left: -0.5rem; + margin-right: 0.2rem; +} +.dropdown { + display: inline-block; + position: relative; +} +.dropdown .menu { + animation: slide-down 0.15s ease 1; + display: none; + left: 0; + max-height: 50vh; + overflow-y: auto; + position: absolute; + top: 100%; +} +.dropdown.dropdown-right .menu { + left: auto; + right: 0; +} +.dropdown.active .menu, +.dropdown .dropdown-toggle:focus + .menu, +.dropdown .menu:hover { + display: block; +} +.dropdown .btn-group .dropdown-toggle:nth-last-child(2) { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.menu { + background: #fff; + border-radius: 0.1rem; + list-style: none; + margin: 0; + min-width: 180px; + padding: 0.4rem; + box-shadow: 0 0.05rem 0.2rem rgba(69, 77, 93, 0.3); + transform: translateY(0.2rem); + z-index: 100; +} +.menu.menu-nav { + background: transparent; + box-shadow: none; +} +.menu .menu-item { + margin-top: 0; + padding: 0 0.4rem; + text-decoration: none; + user-select: none; +} +.menu .menu-item > a { + border-radius: 0.1rem; + color: inherit; + display: block; + margin: 0 -0.4rem; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.menu .menu-item > a:focus, +.menu .menu-item > a:hover { + background: #787878; + color: #121212; +} +.menu .menu-item > a:active, +.menu .menu-item > a.active { + background: #787878; + color: #121212; +} +.menu .menu-item + .menu-item { + margin-top: 0.2rem; +} +.menu .menu-badge { + float: right; + padding: 0.2rem 0; +} +.menu .menu-badge .btn { + margin-top: -0.1rem; +} +.modal { + align-items: center; + bottom: 0; + display: none; + justify-content: center; + left: 0; + opacity: 0; + overflow: hidden; + padding: 0.4rem; + position: fixed; + right: 0; + top: 0; +} +.modal:target, +.modal.active { + display: flex; + opacity: 1; + z-index: 400; +} +.modal:target .modal-overlay, +.modal.active .modal-overlay { + background: rgba(248, 249, 250, 0.75); + bottom: 0; + cursor: default; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.modal:target .modal-container, +.modal.active .modal-container { + animation: slide-down 0.2s ease 1; + max-width: 640px; + z-index: 1; +} +.modal.modal-sm .modal-container { + max-width: 320px; +} +.modal-container { + background: #fff; + border-radius: 0.1rem; + display: block; + padding: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); + text-align: left; +} +.modal-container .modal-header { + padding: 0.8rem; +} +.modal-container .modal-header .modal-title { + margin: 0; +} +.modal-container .modal-body { + max-height: 50vh; + overflow-y: auto; + padding: 0.8rem; + position: relative; +} +.modal-container .modal-footer { + padding: 0.8rem; + text-align: right; +} +.nav { + display: flex; + flex-direction: column; + list-style: none; + margin: 0.2rem 0; +} +.nav .nav-item a { + color: #727e96; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.nav .nav-item a:focus, +.nav .nav-item a:hover { + color: #121212; +} +.nav .nav-item.active > a { + color: #5b657a; + font-weight: bold; +} +.nav .nav-item.active > a:focus, +.nav .nav-item.active > a:hover { + color: #121212; +} +.nav .nav { + margin-bottom: 0.4rem; + margin-left: 0.8rem; +} +.pagination { + display: flex; + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.pagination .page-item { + margin: 0.2rem 0.05rem; +} +.pagination .page-item span { + display: inline-block; + padding: 0.2rem 0.2rem; +} +.pagination .page-item a { + border-radius: 0.1rem; + color: #727e96; + display: inline-block; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.pagination .page-item a:focus, +.pagination .page-item a:hover { + color: #121212; +} +.pagination .page-item.disabled a { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.pagination .page-item.active a { + background: #121212; + color: #fff; +} +.pagination .page-item.page-prev, +.pagination .page-item.page-next { + flex: 1 0 50%; +} +.pagination .page-item.page-next { + text-align: right; +} +.pagination .page-item .page-item-title { + margin: 0; +} +.pagination .page-item .page-item-subtitle { + margin: 0; + opacity: 0.5; +} +.popover { + display: inline-block; + position: relative; +} +.popover .popover-container { + content: attr(data-tooltip); + opacity: 0; + left: 50%; + padding: 0.4rem; + position: absolute; + top: 0; + transform: translate(-50%, -50%) scale(0); + transition: transform 0.2s ease; + width: 320px; + z-index: 400; +} +.popover :focus + .popover-container, +.popover:hover .popover-container, +.popover .popover-container:hover { + display: block; + opacity: 1; + transform: translate(-50%, -100%) scale(1); +} +.popover.popover-right .popover-container { + left: 100%; + top: 50%; +} +.popover.popover-right :focus + .popover-container, +.popover.popover-right:hover .popover-container, +.popover.popover-right .popover-container:hover { + transform: translate(0, -50%) scale(1); +} +.popover.popover-bottom .popover-container { + left: 50%; + top: 100%; +} +.popover.popover-bottom :focus + .popover-container, +.popover.popover-bottom:hover .popover-container, +.popover.popover-bottom .popover-container:hover { + transform: translate(-50%, 0) scale(1); +} +.popover.popover-left .popover-container { + left: 0; + top: 50%; +} +.popover.popover-left :focus + .popover-container, +.popover.popover-left:hover .popover-container, +.popover.popover-left .popover-container:hover { + transform: translate(-100%, -50%) scale(1); +} +.popover .card { + border: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); +} +.step { + display: flex; + flex-wrap: nowrap; + list-style: none; + margin: 0.2rem 0; + width: 100%; +} +.step .step-item { + flex: 1 1 0; + margin-top: 0; + min-height: 20px; + text-align: center; + position: relative; +} +.step .step-item:not(:first-child)::before { + background: #121212; + content: ""; + height: 2px; + left: -50%; + position: absolute; + top: 9px; + width: 100%; +} +.step .step-item a { + color: #acb3c2; + display: inline-block; + padding: 20px 10px 0; + text-decoration: none; +} +.step .step-item a::before { + background: #121212; + border: 0.1rem solid #fff; + border-radius: 50%; + content: ""; + display: block; + height: 0.6rem; + left: 50%; + position: absolute; + top: 0.2rem; + transform: translateX(-50%); + width: 0.6rem; + z-index: 1; +} +.step .step-item.active a::before { + background: #fff; + border: 0.1rem solid #121212; +} +.step .step-item.active ~ .step-item::before { + background: #e7e9ed; +} +.step .step-item.active ~ .step-item a::before { + background: #e7e9ed; +} +.tab { + align-items: center; + border-bottom: 0.05rem solid #e7e9ed; + display: flex; + flex-wrap: wrap; + list-style: none; + margin: 0.2rem 0 0.15rem 0; +} +.tab .tab-item { + margin-top: 0; +} +.tab .tab-item.tab-action { + flex: 1 0 auto; + text-align: right; +} +.tab .tab-item a { + border-bottom: 0.1rem solid transparent; + color: inherit; + display: block; + margin: 0 0.4rem 0 0; + padding: 0.4rem 0.2rem 0.3rem 0.2rem; + text-decoration: none; +} +.tab .tab-item a:focus, +.tab .tab-item a:hover { + color: #121212; +} +.tab .tab-item.active a, +.tab .tab-item a.active { + border-bottom-color: #121212; + color: #121212; +} +.tab.tab-block .tab-item { + flex: 1 0 0; + text-align: center; +} +.tab.tab-block .tab-item a { + margin: 0; +} +.tab.tab-block .tab-item .badge[data-badge]::after { + position: absolute; + right: -4px; + top: -4px; + transform: translate(0, 0); +} +.tab:not(.tab-block) .badge { + padding-right: 2px; +} +.tile { + align-content: space-between; + align-items: flex-start; + display: flex; +} +.tile .tile-icon, +.tile .tile-action { + flex: 0 0 auto; +} +.tile .tile-content { + flex: 1 1 auto; +} +.tile .tile-content:not(:first-child) { + padding-left: 0.4rem; +} +.tile .tile-content:not(:last-child) { + padding-right: 0.4rem; +} +.tile .tile-title, +.tile .tile-subtitle { + line-height: 1rem; +} +.tile.tile-centered { + align-items: center; +} +.tile.tile-centered .tile-content { + overflow: hidden; +} +.tile.tile-centered .tile-title, +.tile.tile-centered .tile-subtitle { + margin-bottom: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.toast { + border: 0.05rem solid #454d5d; + border-radius: 0.1rem; + color: #fff; + display: block; + padding: 0.4rem; + background: rgba(69, 77, 93, 0.9); + border-color: #454d5d; + width: 100%; +} +.toast.toast-primary { + background: rgba(18, 18, 18, 0.9); + border-color: #121212; +} +.toast.toast-success { + background: rgba(50, 182, 67, 0.9); + border-color: #32b643; +} +.toast.toast-warning { + background: rgba(255, 183, 0, 0.9); + border-color: #ffb700; +} +.toast.toast-error { + background: rgba(232, 86, 0, 0.9); + border-color: #e85600; +} +.toast a { + color: #fff; + text-decoration: underline; +} +.toast a:focus, +.toast a:hover, +.toast a:active, +.toast a.active { + opacity: 0.75; +} +.toast .btn-clear { + margin: 2px -2px 2px 4px; +} +.tooltip { + position: relative; +} +.tooltip::after { + background: rgba(69, 77, 93, 0.9); + border-radius: 0.1rem; + bottom: 100%; + color: #fff; + content: attr(data-tooltip); + display: block; + font-size: 0.6rem; + left: 50%; + max-width: 320px; + opacity: 0; + overflow: hidden; + padding: 0.2rem 0.4rem; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + transform: translate(-50%, 0.4rem); + transition: all 0.2s ease; + white-space: nowrap; + z-index: 300; +} +.tooltip:focus::after, +.tooltip:hover::after { + opacity: 1; + transform: translate(-50%, -0.2rem); +} +.tooltip[disabled], +.tooltip.disabled { + pointer-events: auto; +} +.tooltip.tooltip-right::after { + bottom: 50%; + left: 100%; + transform: translate(-0.2rem, 50%); +} +.tooltip.tooltip-right:focus::after, +.tooltip.tooltip-right:hover::after { + transform: translate(0.2rem, 50%); +} +.tooltip.tooltip-bottom::after { + bottom: auto; + top: 100%; + transform: translate(-50%, -0.4rem); +} +.tooltip.tooltip-bottom:focus::after, +.tooltip.tooltip-bottom:hover::after { + transform: translate(-50%, 0.2rem); +} +.tooltip.tooltip-left::after { + bottom: 50%; + left: auto; + right: 100%; + transform: translate(0.4rem, 50%); +} +.tooltip.tooltip-left:focus::after, +.tooltip.tooltip-left:hover::after { + transform: translate(-0.2rem, 50%); +} +@keyframes loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes slide-down { + 0% { + opacity: 0; + transform: translateY(-1.6rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.text-primary { + color: #121212; +} +a.text-primary:focus, +a.text-primary:hover { + color: #050505; +} +.text-secondary { + color: #707070; +} +a.text-secondary:focus, +a.text-secondary:hover { + color: #646464; +} +.text-gray { + color: #acb3c2; +} +a.text-gray:focus, +a.text-gray:hover { + color: #9ea6b7; +} +.text-light { + color: #fff; +} +a.text-light:focus, +a.text-light:hover { + color: #f2f2f2; +} +.text-success { + color: #32b643; +} +a.text-success:focus, +a.text-success:hover { + color: #2da23c; +} +.text-warning { + color: #ffb700; +} +a.text-warning:focus, +a.text-warning:hover { + color: #e6a500; +} +.text-error { + color: #e85600; +} +a.text-error:focus, +a.text-error:hover { + color: #cf4d00; +} +.bg-primary { + background: #121212; +} +.bg-secondary { + background: #787878; +} +.bg-dark { + background: #454d5d; +} +.bg-gray { + background: #f8f9fa; +} +.bg-success { + background: #32b643; +} +.bg-warning { + background: #ffb700; +} +.bg-error { + background: #e85600; +} +.d-block { + display: block; +} +.d-inline { + display: inline; +} +.d-inline-block { + display: inline-block; +} +.d-flex { + display: flex; +} +.d-inline-flex { + display: inline-flex; +} +.d-none, +.hide { + display: none !important; +} +.d-visible { + visibility: visible; +} +.d-invisible { + visibility: hidden; +} +.text-hide { + background: transparent; + border: 0; + color: transparent; + font-size: 0; + line-height: 0; + text-shadow: none; +} +.text-assistive { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.hand { + cursor: pointer; +} +.divider, +.divider-vert { + display: block; + position: relative; +} +.divider[data-content]::after, +.divider-vert[data-content]::after { + background: #fff; + color: #acb3c2; + content: attr(data-content); + display: inline-block; + font-size: 0.6rem; + padding: 0 0.4rem; + transform: translateY(-0.55rem); +} +.divider { + border-top: 0.05rem solid #e7e9ed; + height: 0.05rem; + margin: 0.4rem 0; +} +.divider[data-content] { + margin: 0.8rem 0; +} +.divider-vert { + display: block; + padding: 0.8rem; +} +.divider-vert::before { + border-left: 0.05rem solid #e7e9ed; + bottom: 0.4rem; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 0.4rem; + transform: translateX(-50%); +} +.divider-vert[data-content]::after { + left: 50%; + padding: 0.2rem 0; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.loading { + color: transparent !important; + min-height: 0.8rem; + pointer-events: none; + position: relative; +} +.loading::after { + animation: loading 500ms infinite linear; + border: 0.1rem solid #121212; + border-radius: 50%; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 0.8rem; + left: 50%; + margin-left: -0.4rem; + margin-top: -0.4rem; + position: absolute; + top: 50%; + width: 0.8rem; + z-index: 1; +} +.loading.loading-lg { + min-height: 2rem; +} +.loading.loading-lg::after { + height: 1.6rem; + width: 1.6rem; + margin-left: -0.8rem; + margin-top: -0.8rem; +} +.clearfix::after, +.container::after { + clear: both; + content: ""; + display: table; +} +.float-left { + float: left !important; +} +.float-right { + float: right !important; +} +.relative { + position: relative; +} +.absolute { + position: absolute; +} +.fixed { + position: fixed; +} +.centered { + display: block; + float: none; + margin-left: auto; + margin-right: auto; +} +.m-0 { + margin: 0; +} +.mb-0 { + margin-bottom: 0; +} +.ml-0 { + margin-left: 0; +} +.mr-0 { + margin-right: 0; +} +.mt-0 { + margin-top: 0; +} +.mx-0 { + margin-left: 0; + margin-right: 0; +} +.my-0 { + margin-bottom: 0; + margin-top: 0; +} +.m-1 { + margin: 0.2rem; +} +.mb-1 { + margin-bottom: 0.2rem; +} +.ml-1 { + margin-left: 0.2rem; +} +.mr-1 { + margin-right: 0.2rem; +} +.mt-1 { + margin-top: 0.2rem; +} +.mx-1 { + margin-left: 0.2rem; + margin-right: 0.2rem; +} +.my-1 { + margin-bottom: 0.2rem; + margin-top: 0.2rem; +} +.m-2 { + margin: 0.4rem; +} +.mb-2 { + margin-bottom: 0.4rem; +} +.ml-2 { + margin-left: 0.4rem; +} +.mr-2 { + margin-right: 0.4rem; +} +.mt-2 { + margin-top: 0.4rem; +} +.mx-2 { + margin-left: 0.4rem; + margin-right: 0.4rem; +} +.my-2 { + margin-bottom: 0.4rem; + margin-top: 0.4rem; +} +.p-0 { + padding: 0; +} +.pb-0 { + padding-bottom: 0; +} +.pl-0 { + padding-left: 0; +} +.pr-0 { + padding-right: 0; +} +.pt-0 { + padding-top: 0; +} +.px-0 { + padding-left: 0; + padding-right: 0; +} +.py-0 { + padding-bottom: 0; + padding-top: 0; +} +.p-1 { + padding: 0.2rem; +} +.pb-1 { + padding-bottom: 0.2rem; +} +.pl-1 { + padding-left: 0.2rem; +} +.pr-1 { + padding-right: 0.2rem; +} +.pt-1 { + padding-top: 0.2rem; +} +.px-1 { + padding-left: 0.2rem; + padding-right: 0.2rem; +} +.py-1 { + padding-bottom: 0.2rem; + padding-top: 0.2rem; +} +.p-2 { + padding: 0.4rem; +} +.pb-2 { + padding-bottom: 0.4rem; +} +.pl-2 { + padding-left: 0.4rem; +} +.pr-2 { + padding-right: 0.4rem; +} +.pt-2 { + padding-top: 0.4rem; +} +.px-2 { + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.py-2 { + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} +.rounded { + border-radius: 0.1rem; +} +.circle { + border-radius: 50%; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-normal { + font-weight: normal; +} +.text-bold { + font-weight: bold; +} +.text-italic { + font-style: italic; +} +.text-large { + font-size: 1.2em; +} +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.text-clip { + overflow: hidden; + text-overflow: clip; + white-space: nowrap; +} +.text-break { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; +} +/*! Spectre.css Experimentals | MIT License | github.com/picturepan2/spectre */ +.calendar { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: block; + min-width: 280px; + text-align: center; +} +.calendar .calendar-nav { + align-items: center; + background: #f8f9fa; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + display: flex; + font-size: 0.8rem; + padding: 0.4rem; +} +.calendar .calendar-header, +.calendar .calendar-body { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: 0.4rem 0; +} +.calendar .calendar-header .calendar-date, +.calendar .calendar-body .calendar-date { + flex: 0 0 14.28%; + max-width: 14.28%; +} +.calendar .calendar-header { + background: #f8f9fa; + border-bottom: 0.05rem solid #e7e9ed; + color: #acb3c2; + font-size: 0.6rem; +} +.calendar .calendar-body { + color: #727e96; +} +.calendar .calendar-date { + border: 0; + padding: 0.2rem; +} +.calendar .calendar-date .date-item { + appearance: none; + background: transparent; + border: 0.05rem solid transparent; + border-radius: 50%; + color: #727e96; + transition: all 0.2s ease; + cursor: pointer; + height: 1.4rem; + line-height: 1rem; + outline: none; + padding: 0.1rem; + position: relative; + text-align: center; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + width: 1.4rem; +} +.calendar .calendar-date .date-item.date-today { + border-color: #707070; + color: #121212; +} +.calendar .calendar-date .date-item:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.calendar .calendar-date .date-item:focus, +.calendar .calendar-date .date-item:hover { + background: #808080; + border-color: #707070; + color: #121212; + text-decoration: none; +} +.calendar .calendar-date .date-item:active, +.calendar .calendar-date .date-item.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; +} +.calendar .calendar-date .date-item.badge::after { + position: absolute; + top: 3px; + right: 3px; + transform: translate(50%, -50%); +} +.calendar .calendar-date.disabled .date-item, +.calendar .calendar-date.disabled .calendar-event, +.calendar .calendar-date .date-item:disabled, +.calendar .calendar-date .calendar-event:disabled { + cursor: default; + opacity: 0.25; + pointer-events: none; +} +.calendar .calendar-range { + position: relative; +} +.calendar .calendar-range::before { + background: #787878; + content: ""; + height: 1.4rem; + left: 0; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.calendar .calendar-range.range-start::before { + left: 50%; +} +.calendar .calendar-range.range-end::before { + right: 50%; +} +.calendar .calendar-range .date-item { + color: #121212; +} +.calendar.calendar-lg .calendar-body { + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date { + border-bottom: 0.05rem solid #e7e9ed; + border-right: 0.05rem solid #e7e9ed; + display: flex; + flex-direction: column; + height: 5.5rem; + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) { + border-right: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) { + border-bottom: 0; +} +.calendar.calendar-lg .date-item { + align-self: flex-end; + height: 1.4rem; + margin-right: 0.2rem; + margin-top: 0.2rem; +} +.calendar.calendar-lg .calendar-range::before { + top: 19px; +} +.calendar.calendar-lg .calendar-range.range-start::before { + left: auto; + width: 19px; +} +.calendar.calendar-lg .calendar-range.range-end::before { + right: 19px; +} +.calendar.calendar-lg .calendar-events { + flex-grow: 1; + line-height: 1; + overflow-y: auto; + padding: 0.2rem; +} +.calendar.calendar-lg .calendar-event { + background: #787878; + border-radius: 0.1rem; + color: #121212; + font-size: 0.6rem; + display: block; + margin: 0.1rem auto; + overflow: hidden; + padding: 3px 4px; + text-align: left; + text-overflow: ellipsis; + vertical-align: baseline; + white-space: nowrap; +} +.carousel { + background: #f8f9fa; + display: block; + overflow: hidden; + position: relative; + width: 100%; +} +.carousel .carousel-container { + height: 100%; + left: 0; + position: relative; +} +.carousel .carousel-container::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.carousel .carousel-container .carousel-item { + animation: carousel-slideout 1s ease-in-out 1; + height: 100%; + left: 0; + margin: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; +} +.carousel .carousel-container .carousel-item:hover .item-prev, +.carousel .carousel-container .carousel-item:hover .item-next { + opacity: 1; +} +.carousel .carousel-container .item-prev, +.carousel .carousel-container .item-next { + background: rgba(231, 233, 237, 0.25); + border-color: rgba(231, 233, 237, 0.5); + color: #e7e9ed; + opacity: 0; + position: absolute; + top: 50%; + transition: all 0.4s ease; + transform: translateY(-50%); + z-index: 200; +} +.carousel .carousel-container .item-prev { + left: 1rem; +} +.carousel .carousel-container .item-next { + right: 1rem; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) { + animation: carousel-slidein 0.75s ease-in-out 1; + opacity: 1; + z-index: 100; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) { + color: #e7e9ed; +} +.carousel .carousel-nav { + bottom: 0.4rem; + display: flex; + justify-content: center; + left: 50%; + position: absolute; + transform: translateX(-50%); + width: 10rem; + z-index: 200; +} +.carousel .carousel-nav .nav-item { + color: rgba(231, 233, 237, 0.5); + display: block; + flex: 1 0 auto; + height: 1.6rem; + margin: 0.2rem; + max-width: 2.5rem; + position: relative; +} +.carousel .carousel-nav .nav-item::before { + background: currentColor; + content: ""; + display: block; + height: 0.1rem; + position: absolute; + top: 0.5rem; + width: 100%; +} +@keyframes carousel-slidein { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +@keyframes carousel-slideout { + 0% { + opacity: 1; + transform: translateX(0); + } + 100% { + opacity: 1; + transform: translateX(-50%); + } +} +.comparison-slider { + height: 50vh; + overflow: hidden; + position: relative; + width: 100%; +} +.comparison-slider .comparison-before, +.comparison-slider .comparison-after { + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; +} +.comparison-slider .comparison-before img, +.comparison-slider .comparison-after img { + height: 100%; + object-fit: none; + object-position: left center; + position: absolute; + width: 100%; +} +.comparison-slider .comparison-before { + width: 100%; + z-index: 1; +} +.comparison-slider .comparison-before .comparison-label { + right: 0.8rem; +} +.comparison-slider .comparison-after { + max-width: 100%; + min-width: 0; + z-index: 2; +} +.comparison-slider .comparison-after::before { + background: transparent; + content: ""; + cursor: default; + height: 100%; + left: 0; + position: absolute; + right: 0.8rem; + top: 0; + z-index: 1; +} +.comparison-slider .comparison-after::after { + background: currentColor; + border-radius: 50%; + box-shadow: 0 -5px, 0 5px; + color: #fff; + content: ""; + height: 3px; + position: absolute; + right: 0.4rem; + top: 50%; + transform: translate(50%, -50%); + width: 3px; +} +.comparison-slider .comparison-after .comparison-label { + left: 0.8rem; +} +.comparison-slider .comparison-resizer { + animation: first-run 1.5s 1 ease-in-out; + cursor: ew-resize; + height: 0.8rem; + left: 0; + max-width: 100%; + min-width: 0.8rem; + opacity: 0; + outline: none; + position: relative; + resize: horizontal; + top: 50%; + transform: translateY(-50%) scaleY(30); + width: 0; +} +.comparison-slider .comparison-label { + background: rgba(69, 77, 93, 0.5); + bottom: 0.8rem; + color: #fff; + padding: 0.2rem 0.4rem; + position: absolute; + user-select: none; +} +@keyframes first-run { + 0% { + width: 0; + } + 25% { + width: 2.4rem; + } + 50% { + width: 0.8rem; + } + 75% { + width: 1.2rem; + } + 100% { + width: 0; + } +} +.filter .filter-nav { + margin: 0.4rem 0; +} +.filter .filter-body { + display: flex; + flex-wrap: wrap; +} +.filter .filter-tag#tag-all:checked ~ .filter-nav .chip[for="tag-all"], +.filter .filter-tag#tag-action:checked ~ .filter-nav .chip[for="tag-action"], +.filter .filter-tag#tag-roleplaying:checked ~ .filter-nav .chip[for="tag-roleplaying"], +.filter .filter-tag#tag-shooter:checked ~ .filter-nav .chip[for="tag-shooter"], +.filter .filter-tag#tag-sports:checked ~ .filter-nav .chip[for="tag-sports"] { + background: #121212; + color: #fff; +} +.filter .filter-tag#tag-action:checked ~ .filter-body .column:not([data-tag~="tag-action"]), +.filter .filter-tag#tag-roleplaying:checked ~ .filter-body .column:not([data-tag~="tag-roleplaying"]), +.filter .filter-tag#tag-shooter:checked ~ .filter-body .column:not([data-tag~="tag-shooter"]), +.filter .filter-tag#tag-sports:checked ~ .filter-body .column:not([data-tag~="tag-sports"]) { + display: none; +} +.meter { + appearance: none; + background: #f8f9fa; + border: 0; + border-radius: 0.1rem; + display: block; + width: 100%; + height: 0.8rem; +} +.meter::-webkit-meter-inner-element { + display: block; +} +.meter::-webkit-meter-bar, +.meter::-webkit-meter-optimum-value, +.meter::-webkit-meter-suboptimum-value, +.meter::-webkit-meter-even-less-good-value { + border-radius: 0.1rem; +} +.meter::-webkit-meter-bar { + background: #f8f9fa; +} +.meter::-webkit-meter-optimum-value { + background: #32b643; +} +.meter::-webkit-meter-suboptimum-value { + background: #ffb700; +} +.meter::-webkit-meter-even-less-good-value { + background: #e85600; +} +.meter::-moz-meter-bar, +.meter:-moz-meter-optimum, +.meter:-moz-meter-sub-optimum, +.meter:-moz-meter-sub-sub-optimum { + border-radius: 0.1rem; +} +.meter:-moz-meter-optimum::-moz-meter-bar { + background: #32b643; +} +.meter:-moz-meter-sub-optimum::-moz-meter-bar { + background: #ffb700; +} +.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { + background: #e85600; +} +.parallax { + display: block; + height: auto; + position: relative; + width: auto; +} +.parallax .parallax-content { + height: auto; + box-shadow: 0 1rem 2.1rem rgba(69, 77, 93, 0.3); + transform: perspective(1000px); + transform-style: preserve-3d; + transition: all 0.4s ease; + width: 100%; +} +.parallax .parallax-content::before { + content: ""; + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.parallax .parallax-front { + align-items: center; + color: #fff; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + text-shadow: 0 0 20px rgba(69, 77, 93, 0.5); + top: 0; + transform: translateZ(100px) scale(0.9); + transition: all 0.4s ease; + width: 100%; + z-index: 1; +} +.parallax .parallax-top-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + left: 0; + top: 0; +} +.parallax .parallax-top-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(3deg); +} +.parallax .parallax-top-left:hover ~ .parallax-content::before { + background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-top-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + right: 0; + top: 0; +} +.parallax .parallax-top-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg); +} +.parallax .parallax-top-right:hover ~ .parallax-content::before { + background: linear-gradient(-135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + left: 0; +} +.parallax .parallax-bottom-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(3deg); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content::before { + background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, 6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + right: 0; +} +.parallax .parallax-bottom-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(-3deg); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content::before { + background: linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, 6.5px, 100px) scale(0.9); +} +.progress { + appearance: none; + background: #f0f1f4; + border: 0; + border-radius: 0.1rem; + color: #121212; + height: 0.2rem; + position: relative; + width: 100%; +} +.progress::-webkit-progress-bar { + background: transparent; + border-radius: 0.1rem; +} +.progress::-webkit-progress-value { + background: #121212; + border-radius: 0.1rem; +} +.progress::-moz-progress-bar { + background: #121212; + border-radius: 0.1rem; +} +.progress:indeterminate { + animation: progress-indeterminate 1.5s linear infinite; + background: #f0f1f4 linear-gradient(to right, #121212 30%, #f0f1f4 30%) top left / 150% 150% no-repeat; +} +.progress:indeterminate::-moz-progress-bar { + background: transparent; +} +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} +.slider { + appearance: none; + background: transparent; + display: block; + width: 100%; + height: 1.2rem; +} +.slider:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); + outline: none; +} +.slider::-webkit-slider-thumb { + -webkit-appearance: none; + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + margin-top: -0.25rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-moz-range-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-ms-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider:active::-webkit-slider-thumb { + transform: scale(1.25); +} +.slider:active::-moz-range-thumb { + transform: scale(1.25); +} +.slider:active::-ms-thumb { + transform: scale(1.25); +} +.slider:disabled::-webkit-slider-thumb, +.slider.disabled::-webkit-slider-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-moz-range-thumb, +.slider.disabled::-moz-range-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-ms-thumb, +.slider.disabled::-ms-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider::-webkit-slider-runnable-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-moz-range-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-fill-lower { + background: #121212; +} +.timeline .timeline-item { + display: flex; + margin-bottom: 1.2rem; + position: relative; +} +.timeline .timeline-item::before { + background: #e7e9ed; + content: ""; + height: 100%; + left: 11px; + position: absolute; + top: 1.2rem; + width: 2px; +} +.timeline .timeline-item .timeline-left { + flex: 0 0 auto; +} +.timeline .timeline-item .timeline-content { + flex: 1 1 auto; + padding: 2px 0 2px 0.8rem; +} +.timeline .timeline-item .timeline-icon { + border-radius: 50%; + color: #fff; + display: block; + height: 1.2rem; + text-align: center; + width: 1.2rem; +} +.timeline .timeline-item .timeline-icon::before { + border: 0.1rem solid #121212; + border-radius: 50%; + content: ""; + display: block; + height: 0.4rem; + left: 0.4rem; + position: absolute; + top: 0.4rem; + width: 0.4rem; +} +.timeline .timeline-item .timeline-icon.icon-lg { + background: #121212; + font-size: 0.8rem; + line-height: 1rem; +} +.timeline .timeline-item .timeline-icon.icon-lg::before { + content: none; +} +/*! Spectre.css Icons | MIT License | github.com/picturepan2/spectre */ +.icon { + box-sizing: border-box; + display: inline-block; + font-size: inherit; + font-style: normal; + height: 1em; + position: relative; + text-indent: -9999px; + vertical-align: middle; + width: 1em; +} +.icon::before, +.icon::after { + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.icon-arrow-down::before, +.icon-arrow-left::before, +.icon-arrow-right::before, +.icon-arrow-up::before, +.icon-downward::before, +.icon-back::before, +.icon-forward::before, +.icon-upward::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.65em; + width: 0.65em; +} +.icon-arrow-down::before { + transform: translate(-50%, -75%) rotate(225deg); +} +.icon-arrow-left::before { + transform: translate(-25%, -50%) rotate(-45deg); +} +.icon-arrow-right::before { + transform: translate(-75%, -50%) rotate(135deg); +} +.icon-arrow-up::before { + transform: translate(-50%, -25%) rotate(45deg); +} +.icon-back::after, +.icon-forward::after { + background: currentColor; + content: ""; + height: 0.1rem; + width: 0.8em; +} +.icon-downward::after, +.icon-upward::after { + background: currentColor; + content: ""; + height: 0.8em; + width: 0.1rem; +} +.icon-back::after { + left: 55%; +} +.icon-back::before { + transform: translate(-50%, -50%) rotate(-45deg); +} +.icon-downward::after { + top: 45%; +} +.icon-downward::before { + transform: translate(-50%, -50%) rotate(-135deg); +} +.icon-forward::after { + left: 45%; +} +.icon-forward::before { + transform: translate(-50%, -50%) rotate(135deg); +} +.icon-upward::after { + top: 55%; +} +.icon-upward::before { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-caret::before { + border-top: 0.3em solid currentColor; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; + content: ""; + height: 0; + width: 0; + transform: translate(-50%, -25%); +} +.icon-menu::before { + background: currentColor; + box-shadow: 0 -0.35em, 0 0.35em; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-apps::before { + background: currentColor; + box-shadow: -0.35em -0.35em, -0.35em 0, -0.35em 0.35em, 0 -0.35em, 0 0.35em, 0.35em -0.35em, 0.35em 0, 0.35em 0.35em; + content: ""; + height: 3px; + width: 3px; +} +.icon-resize-horiz::before, +.icon-resize-vert::before, +.icon-resize-horiz::after, +.icon-resize-vert::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.45em; + width: 0.45em; +} +.icon-resize-horiz::before, +.icon-resize-vert::before { + transform: translate(-50%, -90%) rotate(45deg); +} +.icon-resize-horiz::after, +.icon-resize-vert::after { + transform: translate(-50%, -10%) rotate(225deg); +} +.icon-resize-horiz::before { + transform: translate(-90%, -50%) rotate(-45deg); +} +.icon-resize-horiz::after { + transform: translate(-10%, -50%) rotate(135deg); +} +.icon-more-horiz::before, +.icon-more-vert::before { + background: currentColor; + box-shadow: -0.4em 0, 0.4em 0; + border-radius: 50%; + content: ""; + height: 3px; + width: 3px; +} +.icon-more-vert::before { + box-shadow: 0 -0.4em, 0 0.4em; +} +.icon-plus::before, +.icon-minus::before, +.icon-cross::before { + background: currentColor; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-plus::after, +.icon-cross::after { + background: currentColor; + content: ""; + height: 100%; + width: 0.1rem; +} +.icon-cross::before { + width: 100%; +} +.icon-cross::after { + height: 100%; +} +.icon-cross::before, +.icon-cross::after { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-check::before { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + width: 0.9em; + transform: translate(-50%, -75%) rotate(-45deg); +} +.icon-stop { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-stop::before { + background: currentColor; + content: ""; + height: 0.1rem; + transform: translate(-50%, -50%) rotate(45deg); + width: 1em; +} +.icon-shutdown { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-top-color: transparent; +} +.icon-shutdown::before { + background: currentColor; + content: ""; + height: 0.5em; + top: 0.1em; + width: 0.1rem; +} +.icon-refresh::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 1em; + width: 1em; +} +.icon-refresh::after { + border: 0.2em solid currentColor; + border-top-color: transparent; + border-left-color: transparent; + content: ""; + height: 0; + left: 80%; + top: 20%; + width: 0; +} +.icon-search::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.75em; + left: 5%; + top: 5%; + transform: translate(0, 0) rotate(45deg); + width: 0.75em; +} +.icon-search::after { + background: currentColor; + content: ""; + height: 0.1rem; + left: 80%; + top: 80%; + transform: translate(-50%, -50%) rotate(45deg); + width: 0.4em; +} +.icon-edit::before { + border: 0.1rem solid currentColor; + content: ""; + height: 0.4em; + transform: translate(-40%, -60%) rotate(-45deg); + width: 0.85em; +} +.icon-edit::after { + border: 0.15em solid currentColor; + border-top-color: transparent; + border-right-color: transparent; + content: ""; + height: 0; + left: 5%; + top: 95%; + transform: translate(0, -100%); + width: 0; +} +.icon-delete::before { + border: 0.1rem solid currentColor; + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.75em; + top: 60%; + width: 0.75em; +} +.icon-delete::after { + background: currentColor; + box-shadow: -0.25em 0.2em, 0.25em 0.2em; + content: ""; + height: 0.1rem; + top: 0.05rem; + width: 0.5em; +} +.icon-share { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + border-right: 0; + border-top: 0; +} +.icon-share::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-top: 0; + content: ""; + height: 0.4em; + left: 100%; + top: 0.25em; + transform: translate(-125%, -50%) rotate(-45deg); + width: 0.4em; +} +.icon-share::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + border-radius: 75% 0; + content: ""; + height: 0.5em; + width: 0.6em; +} +.icon-flag::before { + background: currentColor; + content: ""; + height: 1em; + left: 15%; + width: 0.1rem; +} +.icon-flag::after { + border: 0.1rem solid currentColor; + border-bottom-right-radius: 0.1rem; + border-left: 0; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.65em; + top: 35%; + left: 60%; + width: 0.8em; +} +.icon-bookmark::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.9em; + width: 0.8em; +} +.icon-bookmark::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + border-radius: 0.1rem; + content: ""; + height: 0.5em; + transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); + width: 0.5em; +} +.icon-download, +.icon-upload { + border-bottom: 0.1rem solid currentColor; +} +.icon-download::before, +.icon-upload::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.5em; + transform: translate(-50%, -60%) rotate(-135deg); +} +.icon-download::after, +.icon-upload::after { + background: currentColor; + content: ""; + height: 0.6em; + top: 40%; + width: 0.1rem; +} +.icon-upload::before { + transform: translate(-50%, -60%) rotate(45deg); +} +.icon-upload::after { + top: 50%; +} +.icon-time { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-time::before { + background: currentColor; + content: ""; + height: 0.4em; + transform: translate(-50%, -75%); + width: 0.1rem; +} +.icon-time::after { + background: currentColor; + content: ""; + height: 0.3em; + transform: translate(-50%, -75%) rotate(90deg); + transform-origin: 50% 90%; + width: 0.1rem; +} +.icon-mail::before { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.8em; + width: 1em; +} +.icon-mail::after { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); + width: 0.5em; +} +.icon-people::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.45em; + top: 25%; + width: 0.45em; +} +.icon-people::after { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 0 0; + content: ""; + height: 0.4em; + top: 75%; + width: 0.9em; +} +.icon-message { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-radius: 0.1rem; + border-right: 0; +} +.icon-message::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.8em; + left: 65%; + top: 40%; + width: 0.7em; +} +.icon-message::after { + background: currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.3em; + left: 10%; + top: 100%; + transform: translate(0, -90%) rotate(45deg); + width: 0.1rem; +} +.icon-photo { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; +} +.icon-photo::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.25em; + left: 35%; + top: 35%; + width: 0.25em; +} +.icon-photo::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + content: ""; + height: 0.5em; + left: 60%; + transform: translate(-50%, 25%) rotate(-45deg); + width: 0.5em; +} +.icon-link::before, +.icon-link::after { + border: 0.1rem solid currentColor; + border-radius: 5em 0 0 5em; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.75em; +} +.icon-link::before { + transform: translate(-70%, -45%) rotate(-45deg); +} +.icon-link::after { + transform: translate(-30%, -55%) rotate(135deg); +} +.icon-location::before { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 50% 0; + content: ""; + height: 0.8em; + transform: translate(-50%, -60%) rotate(-45deg); + width: 0.8em; +} +.icon-location::after { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.2em; + transform: translate(-50%, -80%); + width: 0.2em; +} +.icon-emoji { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-emoji::before { + border-radius: 50%; + box-shadow: -0.17em -0.15em, 0.17em -0.15em; + content: ""; + height: 0.1em; + width: 0.1em; +} +.icon-emoji::after { + border: 0.1rem solid currentColor; + border-bottom-color: transparent; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 0.5em; + transform: translate(-50%, -40%) rotate(-135deg); + width: 0.5em; +} +.accordion .icon, +.btn .icon, +.toast .icon, +.menu .icon { + vertical-align: -10%; +} +@font-face { + font-family: backset; + src: url(d56def2696eccccc8cc0.woff); +} +* { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; +} +.container { + width: 1120px; + margin: 0 auto; +} +a:hover { + text-decoration: none; +} +a:focus { + text-decoration: none; + box-shadow: none; +} +.navbar { + height: 2.4rem; +} +.navbar .navbar-section a { + display: flex; + align-items: center; +} +.navbar .navbar-section a img { + width: 1.2rem; +} +.navbar .navbar-section a span { + font-family: backset; + font-size: 1.2em; + padding-left: 0.5em; + color: #121212; +} +.login-container .hero { + padding-bottom: 0; +} +.login-container .hero .hero-body { + padding: 0; +} +.login-container .switch-login { + text-align: center; +} +.box-container { + padding-top: 4rem; + position: relative; + text-align: center; +} +.box-container > img { + width: 5rem; + height: 5rem; +} + diff --git a/apps/server/public/login.js b/apps/server/public/login.js new file mode 100644 index 0000000..96820e1 --- /dev/null +++ b/apps/server/public/login.js @@ -0,0 +1,526 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js": +/*!*************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js ***! + \*************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js ***! + \************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar transitionalDefaults = __webpack_require__(/*! ../defaults/transitional */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js\");\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\nvar parseProtocol = __webpack_require__(/*! ../helpers/parseProtocol */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js": +/*!*****************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js ***! + \*****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js\");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = __webpack_require__(/*! ./cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js\");\naxios.VERSION = (__webpack_require__(/*! ./env/data */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js\").version);\naxios.toFormData = __webpack_require__(/*! ./helpers/toFormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js\");\n\n// Expose AxiosError class\naxios.AxiosError = __webpack_require__(/*! ../lib/core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js\");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports[\"default\"] = axios;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar CanceledError = __webpack_require__(/*! ./CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js": +/*!**********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js\");\nvar buildFullPath = __webpack_require__(/*! ./buildFullPath */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js\");\nvar validator = __webpack_require__(/*! ../helpers/validator */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js\");\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js ***! + \***************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js": +/*!***********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\nvar CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js": +/*!****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js": +/*!***********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js ***! + \***********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar AxiosError = __webpack_require__(/*! ./AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js": +/*!**************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js ***! + \**************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ../helpers/normalizeHeaderName */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js\");\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar transitionalDefaults = __webpack_require__(/*! ./transitional */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js\");\nvar toFormData = __webpack_require__(/*! ../helpers/toFormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ../adapters/xhr */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ../adapters/http */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js\");\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: __webpack_require__(/*! ./env/FormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js\")\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js": +/*!********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js ***! + \********************************************************************************/ +/***/ ((module) => { + +eval("module.exports = {\n \"version\": \"0.27.2\"\n};\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js ***! + \************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js": +/*!****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js": +/*!*******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js": +/*!***********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js": +/*!***************************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js ***! + \***************************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js ***! + \************************************************************************************/ +/***/ ((module) => { + +eval("// eslint-disable-next-line strict\nmodule.exports = null;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js": +/*!**************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar VERSION = (__webpack_require__(/*! ../env/data */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js\").version);\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js": +/*!*****************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js ***! + \*****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/encrypt.js": +/*!*******************************************!*\ + !*** ../../packages/util/dist/encrypt.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.md5 = void 0;\nvar hash = __webpack_require__(/*! object-hash */ \"../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js\");\nvar md5 = function (text) {\n return hash(text, {\n algorithm: \"md5\"\n });\n};\nexports.md5 = md5;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/encrypt.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/index.js": +/*!*****************************************!*\ + !*** ../../packages/util/dist/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RegUtil = exports.ValidateUtil = exports.EncryptUtil = void 0;\nvar EncryptUtil = __webpack_require__(/*! ./encrypt */ \"../../packages/util/dist/encrypt.js\");\nexports.EncryptUtil = EncryptUtil;\nvar ValidateUtil = __webpack_require__(/*! ./validate */ \"../../packages/util/dist/validate.js\");\nexports.ValidateUtil = ValidateUtil;\nvar RegUtil = __webpack_require__(/*! ./reg */ \"../../packages/util/dist/reg.js\");\nexports.RegUtil = RegUtil;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/index.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/reg.js": +/*!***************************************!*\ + !*** ../../packages/util/dist/reg.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PHONE = void 0;\n/**\n * 手机号正则[常用]\n */\nexports.PHONE = /^1[3456789]\\d{9}$/;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/reg.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/validate.js": +/*!********************************************!*\ + !*** ../../packages/util/dist/validate.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.withEmpty = void 0;\n/**\n * 检测对象是否存在空 value\n * @param {Object} obj 检测的对象\n */\nvar withEmpty = function (obj) {\n return Object.values(obj).some(function (v) {\n return !v;\n });\n};\nexports.withEmpty = withEmpty;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/validate.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js": +/*!**********************************************************************************!*\ + !*** ../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js ***! + \**********************************************************************************/ +/***/ ((module) => { + +eval("(function(){\n\"use strict\";\nvar doc = document;\nvar win = window;\nvar docEle = doc.documentElement;\nvar createElement = doc.createElement.bind(doc);\nvar div = createElement('div');\nvar table = createElement('table');\nvar tbody = createElement('tbody');\nvar tr = createElement('tr');\nvar isArray = Array.isArray, ArrayPrototype = Array.prototype;\nvar concat = ArrayPrototype.concat, filter = ArrayPrototype.filter, indexOf = ArrayPrototype.indexOf, map = ArrayPrototype.map, push = ArrayPrototype.push, slice = ArrayPrototype.slice, some = ArrayPrototype.some, splice = ArrayPrototype.splice;\nvar idRe = /^#(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nvar classRe = /^\\.(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nvar htmlRe = /<.+>/;\nvar tagRe = /^\\w+$/;\n// @require ./variables.ts\nfunction find(selector, context) {\n var isFragment = isDocumentFragment(context);\n return !selector || (!isFragment && !isDocument(context) && !isElement(context))\n ? []\n : !isFragment && classRe.test(selector)\n ? context.getElementsByClassName(selector.slice(1).replace(/\\\\/g, ''))\n : !isFragment && tagRe.test(selector)\n ? context.getElementsByTagName(selector)\n : context.querySelectorAll(selector);\n}\n// @require ./find.ts\n// @require ./variables.ts\nvar Cash = /** @class */ (function () {\n function Cash(selector, context) {\n if (!selector)\n return;\n if (isCash(selector))\n return selector;\n var eles = selector;\n if (isString(selector)) {\n var ctx = (isCash(context) ? context[0] : context) || doc;\n eles = idRe.test(selector) && 'getElementById' in ctx\n ? ctx.getElementById(selector.slice(1).replace(/\\\\/g, ''))\n : htmlRe.test(selector)\n ? parseHTML(selector)\n : find(selector, ctx);\n if (!eles)\n return;\n }\n else if (isFunction(selector)) {\n return this.ready(selector); //FIXME: `fn.ready` is not included in `core`, but it's actually a core functionality\n }\n if (eles.nodeType || eles === win)\n eles = [eles];\n this.length = eles.length;\n for (var i = 0, l = this.length; i < l; i++) {\n this[i] = eles[i];\n }\n }\n Cash.prototype.init = function (selector, context) {\n return new Cash(selector, context);\n };\n return Cash;\n}());\nvar fn = Cash.prototype;\nvar cash = fn.init;\ncash.fn = cash.prototype = fn; // Ensuring that `cash () instanceof cash`\nfn.length = 0;\nfn.splice = splice; // Ensuring a cash collection gets printed as array-like in Chrome's devtools\nif (typeof Symbol === 'function') { // Ensuring a cash collection is iterable\n fn[Symbol['iterator']] = ArrayPrototype[Symbol['iterator']];\n}\nfunction isCash(value) {\n return value instanceof Cash;\n}\nfunction isWindow(value) {\n return !!value && value === value.window;\n}\nfunction isDocument(value) {\n return !!value && value.nodeType === 9;\n}\nfunction isDocumentFragment(value) {\n return !!value && value.nodeType === 11;\n}\nfunction isElement(value) {\n return !!value && value.nodeType === 1;\n}\nfunction isText(value) {\n return !!value && value.nodeType === 3;\n}\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction isUndefined(value) {\n return value === undefined;\n}\nfunction isNull(value) {\n return value === null;\n}\nfunction isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n}\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null)\n return false;\n var proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype;\n}\ncash.isWindow = isWindow;\ncash.isFunction = isFunction;\ncash.isArray = isArray;\ncash.isNumeric = isNumeric;\ncash.isPlainObject = isPlainObject;\nfunction each(arr, callback, _reverse) {\n if (_reverse) {\n var i = arr.length;\n while (i--) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n else if (isPlainObject(arr)) {\n var keys = Object.keys(arr);\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n if (callback.call(arr[key], key, arr[key]) === false)\n return arr;\n }\n }\n else {\n for (var i = 0, l = arr.length; i < l; i++) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n return arr;\n}\ncash.each = each;\nfn.each = function (callback) {\n return each(this, callback);\n};\nfn.empty = function () {\n return this.each(function (i, ele) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild);\n }\n });\n};\nfunction extend() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var deep = isBoolean(sources[0]) ? sources.shift() : false;\n var target = sources.shift();\n var length = sources.length;\n if (!target)\n return {};\n if (!length)\n return extend(deep, cash, target);\n for (var i = 0; i < length; i++) {\n var source = sources[i];\n for (var key in source) {\n if (deep && (isArray(source[key]) || isPlainObject(source[key]))) {\n if (!target[key] || target[key].constructor !== source[key].constructor)\n target[key] = new source[key].constructor();\n extend(deep, target[key], source[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n }\n return target;\n}\ncash.extend = extend;\nfn.extend = function (plugins) {\n return extend(fn, plugins);\n};\n// @require ./type_checking.ts\nvar splitValuesRe = /\\S+/g;\nfunction getSplitValues(str) {\n return isString(str) ? str.match(splitValuesRe) || [] : [];\n}\nfn.toggleClass = function (cls, force) {\n var classes = getSplitValues(cls);\n var isForce = !isUndefined(force);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n each(classes, function (i, c) {\n if (isForce) {\n force ? ele.classList.add(c) : ele.classList.remove(c);\n }\n else {\n ele.classList.toggle(c);\n }\n });\n });\n};\nfn.addClass = function (cls) {\n return this.toggleClass(cls, true);\n};\nfn.removeAttr = function (attr) {\n var attrs = getSplitValues(attr);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n each(attrs, function (i, a) {\n ele.removeAttribute(a);\n });\n });\n};\nfunction attr(attr, value) {\n if (!attr)\n return;\n if (isString(attr)) {\n if (arguments.length < 2) {\n if (!this[0] || !isElement(this[0]))\n return;\n var value_1 = this[0].getAttribute(attr);\n return isNull(value_1) ? undefined : value_1;\n }\n if (isUndefined(value))\n return this;\n if (isNull(value))\n return this.removeAttr(attr);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n ele.setAttribute(attr, value);\n });\n }\n for (var key in attr) {\n this.attr(key, attr[key]);\n }\n return this;\n}\nfn.attr = attr;\nfn.removeClass = function (cls) {\n if (arguments.length)\n return this.toggleClass(cls, false);\n return this.attr('class', '');\n};\nfn.hasClass = function (cls) {\n return !!cls && some.call(this, function (ele) { return isElement(ele) && ele.classList.contains(cls); });\n};\nfn.get = function (index) {\n if (isUndefined(index))\n return slice.call(this);\n index = Number(index);\n return this[index < 0 ? index + this.length : index];\n};\nfn.eq = function (index) {\n return cash(this.get(index));\n};\nfn.first = function () {\n return this.eq(0);\n};\nfn.last = function () {\n return this.eq(-1);\n};\nfunction text(text) {\n if (isUndefined(text)) {\n return this.get().map(function (ele) { return isElement(ele) || isText(ele) ? ele.textContent : ''; }).join('');\n }\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n ele.textContent = text;\n });\n}\nfn.text = text;\n// @require core/type_checking.ts\n// @require core/variables.ts\nfunction computeStyle(ele, prop, isVariable) {\n if (!isElement(ele))\n return;\n var style = win.getComputedStyle(ele, null);\n return isVariable ? style.getPropertyValue(prop) || undefined : style[prop] || ele.style[prop];\n}\n// @require ./compute_style.ts\nfunction computeStyleInt(ele, prop) {\n return parseInt(computeStyle(ele, prop), 10) || 0;\n}\n// @require css/helpers/compute_style_int.ts\nfunction getExtraSpace(ele, xAxis) {\n return computeStyleInt(ele, \"border\".concat(xAxis ? 'Left' : 'Top', \"Width\")) + computeStyleInt(ele, \"padding\".concat(xAxis ? 'Left' : 'Top')) + computeStyleInt(ele, \"padding\".concat(xAxis ? 'Right' : 'Bottom')) + computeStyleInt(ele, \"border\".concat(xAxis ? 'Right' : 'Bottom', \"Width\"));\n}\n// @require css/helpers/compute_style.ts\nvar defaultDisplay = {};\nfunction getDefaultDisplay(tagName) {\n if (defaultDisplay[tagName])\n return defaultDisplay[tagName];\n var ele = createElement(tagName);\n doc.body.insertBefore(ele, null);\n var display = computeStyle(ele, 'display');\n doc.body.removeChild(ele);\n return defaultDisplay[tagName] = display !== 'none' ? display : 'block';\n}\n// @require css/helpers/compute_style.ts\nfunction isHidden(ele) {\n return computeStyle(ele, 'display') === 'none';\n}\n// @require ./cash.ts\nfunction matches(ele, selector) {\n var matches = ele && (ele['matches'] || ele['webkitMatchesSelector'] || ele['msMatchesSelector']);\n return !!matches && !!selector && matches.call(ele, selector);\n}\n// @require ./matches.ts\n// @require ./type_checking.ts\nfunction getCompareFunction(comparator) {\n return isString(comparator)\n ? function (i, ele) { return matches(ele, comparator); }\n : isFunction(comparator)\n ? comparator\n : isCash(comparator)\n ? function (i, ele) { return comparator.is(ele); }\n : !comparator\n ? function () { return false; }\n : function (i, ele) { return ele === comparator; };\n}\nfn.filter = function (comparator) {\n var compare = getCompareFunction(comparator);\n return cash(filter.call(this, function (ele, i) { return compare.call(ele, i, ele); }));\n};\n// @require collection/filter.ts\nfunction filtered(collection, comparator) {\n return !comparator ? collection : collection.filter(comparator);\n}\nfn.detach = function (comparator) {\n filtered(this, comparator).each(function (i, ele) {\n if (ele.parentNode) {\n ele.parentNode.removeChild(ele);\n }\n });\n return this;\n};\nvar fragmentRe = /^\\s*<(\\w+)[^>]*>/;\nvar singleTagRe = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/;\nvar containers = {\n '*': div,\n tr: tbody,\n td: tr,\n th: tr,\n thead: table,\n tbody: table,\n tfoot: table\n};\n//TODO: Create elements inside a document fragment, in order to prevent inline event handlers from firing\n//TODO: Ensure the created elements have the fragment as their parent instead of null, this also ensures we can deal with detatched nodes more reliably\nfunction parseHTML(html) {\n if (!isString(html))\n return [];\n if (singleTagRe.test(html))\n return [createElement(RegExp.$1)];\n var fragment = fragmentRe.test(html) && RegExp.$1;\n var container = containers[fragment] || containers['*'];\n container.innerHTML = html;\n return cash(container.childNodes).detach().get();\n}\ncash.parseHTML = parseHTML;\nfn.has = function (selector) {\n var comparator = isString(selector)\n ? function (i, ele) { return find(selector, ele).length; }\n : function (i, ele) { return ele.contains(selector); };\n return this.filter(comparator);\n};\nfn.not = function (comparator) {\n var compare = getCompareFunction(comparator);\n return this.filter(function (i, ele) { return (!isString(comparator) || isElement(ele)) && !compare.call(ele, i, ele); });\n};\nfunction pluck(arr, prop, deep, until) {\n var plucked = [];\n var isCallback = isFunction(prop);\n var compare = until && getCompareFunction(until);\n for (var i = 0, l = arr.length; i < l; i++) {\n if (isCallback) {\n var val_1 = prop(arr[i]);\n if (val_1.length)\n push.apply(plucked, val_1);\n }\n else {\n var val_2 = arr[i][prop];\n while (val_2 != null) {\n if (until && compare(-1, val_2))\n break;\n plucked.push(val_2);\n val_2 = deep ? val_2[prop] : null;\n }\n }\n }\n return plucked;\n}\n// @require core/pluck.ts\n// @require core/variables.ts\nfunction getValue(ele) {\n if (ele.multiple && ele.options)\n return pluck(filter.call(ele.options, function (option) { return option.selected && !option.disabled && !option.parentNode.disabled; }), 'value');\n return ele.value || '';\n}\nfunction val(value) {\n if (!arguments.length)\n return this[0] && getValue(this[0]);\n return this.each(function (i, ele) {\n var isSelect = ele.multiple && ele.options;\n if (isSelect || checkableRe.test(ele.type)) {\n var eleValue_1 = isArray(value) ? map.call(value, String) : (isNull(value) ? [] : [String(value)]);\n if (isSelect) {\n each(ele.options, function (i, option) {\n option.selected = eleValue_1.indexOf(option.value) >= 0;\n }, true);\n }\n else {\n ele.checked = eleValue_1.indexOf(ele.value) >= 0;\n }\n }\n else {\n ele.value = isUndefined(value) || isNull(value) ? '' : value;\n }\n });\n}\nfn.val = val;\nfn.is = function (comparator) {\n var compare = getCompareFunction(comparator);\n return some.call(this, function (ele, i) { return compare.call(ele, i, ele); });\n};\ncash.guid = 1;\nfunction unique(arr) {\n return arr.length > 1 ? filter.call(arr, function (item, index, self) { return indexOf.call(self, item) === index; }) : arr;\n}\ncash.unique = unique;\nfn.add = function (selector, context) {\n return cash(unique(this.get().concat(cash(selector, context).get())));\n};\nfn.children = function (comparator) {\n return filtered(cash(unique(pluck(this, function (ele) { return ele.children; }))), comparator);\n};\nfn.parent = function (comparator) {\n return filtered(cash(unique(pluck(this, 'parentNode'))), comparator);\n};\nfn.index = function (selector) {\n var child = selector ? cash(selector)[0] : this[0];\n var collection = selector ? this : cash(child).parent().children();\n return indexOf.call(collection, child);\n};\nfn.closest = function (comparator) {\n var filtered = this.filter(comparator);\n if (filtered.length)\n return filtered;\n var $parent = this.parent();\n if (!$parent.length)\n return filtered;\n return $parent.closest(comparator);\n};\nfn.siblings = function (comparator) {\n return filtered(cash(unique(pluck(this, function (ele) { return cash(ele).parent().children().not(ele); }))), comparator);\n};\nfn.find = function (selector) {\n return cash(unique(pluck(this, function (ele) { return find(selector, ele); })));\n};\n// @require core/variables.ts\n// @require collection/filter.ts\n// @require traversal/find.ts\nvar HTMLCDATARe = /^\\s*\\s*$/g;\nvar scriptTypeRe = /^$|^module$|\\/(java|ecma)script/i;\nvar scriptAttributes = ['type', 'src', 'nonce', 'noModule'];\nfunction evalScripts(node, doc) {\n var collection = cash(node);\n collection.filter('script').add(collection.find('script')).each(function (i, ele) {\n if (scriptTypeRe.test(ele.type) && docEle.contains(ele)) { // The script type is supported // The element is attached to the DOM // Using `documentElement` for broader browser support\n var script_1 = createElement('script');\n script_1.text = ele.textContent.replace(HTMLCDATARe, '');\n each(scriptAttributes, function (i, attr) {\n if (ele[attr])\n script_1[attr] = ele[attr];\n });\n doc.head.insertBefore(script_1, null);\n doc.head.removeChild(script_1);\n }\n });\n}\n// @require ./eval_scripts.ts\nfunction insertElement(anchor, target, left, inside, evaluate) {\n if (inside) { // prepend/append\n anchor.insertBefore(target, left ? anchor.firstChild : null);\n }\n else { // before/after\n if (anchor.nodeName === 'HTML') {\n anchor.parentNode.replaceChild(target, anchor);\n }\n else {\n anchor.parentNode.insertBefore(target, left ? anchor : anchor.nextSibling);\n }\n }\n if (evaluate) {\n evalScripts(target, anchor.ownerDocument);\n }\n}\n// @require ./insert_element.ts\nfunction insertSelectors(selectors, anchors, inverse, left, inside, reverseLoop1, reverseLoop2, reverseLoop3) {\n each(selectors, function (si, selector) {\n each(cash(selector), function (ti, target) {\n each(cash(anchors), function (ai, anchor) {\n var anchorFinal = inverse ? target : anchor;\n var targetFinal = inverse ? anchor : target;\n var indexFinal = inverse ? ti : ai;\n insertElement(anchorFinal, !indexFinal ? targetFinal : targetFinal.cloneNode(true), left, inside, !indexFinal);\n }, reverseLoop3);\n }, reverseLoop2);\n }, reverseLoop1);\n return anchors;\n}\nfn.after = function () {\n return insertSelectors(arguments, this, false, false, false, true, true);\n};\nfn.append = function () {\n return insertSelectors(arguments, this, false, false, true);\n};\nfunction html(html) {\n if (!arguments.length)\n return this[0] && this[0].innerHTML;\n if (isUndefined(html))\n return this;\n var hasScript = /]/.test(html);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n if (hasScript) {\n cash(ele).empty().append(html);\n }\n else {\n ele.innerHTML = html;\n }\n });\n}\nfn.html = html;\nfn.appendTo = function (selector) {\n return insertSelectors(arguments, this, true, false, true);\n};\nfn.wrapInner = function (selector) {\n return this.each(function (i, ele) {\n var $ele = cash(ele);\n var contents = $ele.contents();\n contents.length ? contents.wrapAll(selector) : $ele.append(selector);\n });\n};\nfn.before = function () {\n return insertSelectors(arguments, this, false, true);\n};\nfn.wrapAll = function (selector) {\n var structure = cash(selector);\n var wrapper = structure[0];\n while (wrapper.children.length)\n wrapper = wrapper.firstElementChild;\n this.first().before(structure);\n return this.appendTo(wrapper);\n};\nfn.wrap = function (selector) {\n return this.each(function (i, ele) {\n var wrapper = cash(selector)[0];\n cash(ele).wrapAll(!i ? wrapper : wrapper.cloneNode(true));\n });\n};\nfn.insertAfter = function (selector) {\n return insertSelectors(arguments, this, true, false, false, false, false, true);\n};\nfn.insertBefore = function (selector) {\n return insertSelectors(arguments, this, true, true);\n};\nfn.prepend = function () {\n return insertSelectors(arguments, this, false, true, true, true, true);\n};\nfn.prependTo = function (selector) {\n return insertSelectors(arguments, this, true, true, true, false, false, true);\n};\nfn.contents = function () {\n return cash(unique(pluck(this, function (ele) { return ele.tagName === 'IFRAME' ? [ele.contentDocument] : (ele.tagName === 'TEMPLATE' ? ele.content.childNodes : ele.childNodes); })));\n};\nfn.next = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'nextElementSibling', _all, _until))), comparator);\n};\nfn.nextAll = function (comparator) {\n return this.next(comparator, true);\n};\nfn.nextUntil = function (until, comparator) {\n return this.next(comparator, true, until);\n};\nfn.parents = function (comparator, _until) {\n return filtered(cash(unique(pluck(this, 'parentElement', true, _until))), comparator);\n};\nfn.parentsUntil = function (until, comparator) {\n return this.parents(comparator, until);\n};\nfn.prev = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'previousElementSibling', _all, _until))), comparator);\n};\nfn.prevAll = function (comparator) {\n return this.prev(comparator, true);\n};\nfn.prevUntil = function (until, comparator) {\n return this.prev(comparator, true, until);\n};\nfn.map = function (callback) {\n return cash(concat.apply([], map.call(this, function (ele, i) { return callback.call(ele, i, ele); })));\n};\nfn.clone = function () {\n return this.map(function (i, ele) { return ele.cloneNode(true); });\n};\nfn.offsetParent = function () {\n return this.map(function (i, ele) {\n var offsetParent = ele.offsetParent;\n while (offsetParent && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || docEle;\n });\n};\nfn.slice = function (start, end) {\n return cash(slice.call(this, start, end));\n};\n// @require ./cash.ts\nvar dashAlphaRe = /-([a-z])/g;\nfunction camelCase(str) {\n return str.replace(dashAlphaRe, function (match, letter) { return letter.toUpperCase(); });\n}\nfn.ready = function (callback) {\n var cb = function () { return setTimeout(callback, 0, cash); };\n if (doc.readyState !== 'loading') {\n cb();\n }\n else {\n doc.addEventListener('DOMContentLoaded', cb);\n }\n return this;\n};\nfn.unwrap = function () {\n this.parent().each(function (i, ele) {\n if (ele.tagName === 'BODY')\n return;\n var $ele = cash(ele);\n $ele.replaceWith($ele.children());\n });\n return this;\n};\nfn.offset = function () {\n var ele = this[0];\n if (!ele)\n return;\n var rect = ele.getBoundingClientRect();\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n};\nfn.position = function () {\n var ele = this[0];\n if (!ele)\n return;\n var isFixed = (computeStyle(ele, 'position') === 'fixed');\n var offset = isFixed ? ele.getBoundingClientRect() : this.offset();\n if (!isFixed) {\n var doc_1 = ele.ownerDocument;\n var offsetParent = ele.offsetParent || doc_1.documentElement;\n while ((offsetParent === doc_1.body || offsetParent === doc_1.documentElement) && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent !== ele && isElement(offsetParent)) {\n var parentOffset = cash(offsetParent).offset();\n offset.top -= parentOffset.top + computeStyleInt(offsetParent, 'borderTopWidth');\n offset.left -= parentOffset.left + computeStyleInt(offsetParent, 'borderLeftWidth');\n }\n }\n return {\n top: offset.top - computeStyleInt(ele, 'marginTop'),\n left: offset.left - computeStyleInt(ele, 'marginLeft')\n };\n};\nvar propMap = {\n /* GENERAL */\n class: 'className',\n contenteditable: 'contentEditable',\n /* LABEL */\n for: 'htmlFor',\n /* INPUT */\n readonly: 'readOnly',\n maxlength: 'maxLength',\n tabindex: 'tabIndex',\n /* TABLE */\n colspan: 'colSpan',\n rowspan: 'rowSpan',\n /* IMAGE */\n usemap: 'useMap'\n};\nfn.prop = function (prop, value) {\n if (!prop)\n return;\n if (isString(prop)) {\n prop = propMap[prop] || prop;\n if (arguments.length < 2)\n return this[0] && this[0][prop];\n return this.each(function (i, ele) { ele[prop] = value; });\n }\n for (var key in prop) {\n this.prop(key, prop[key]);\n }\n return this;\n};\nfn.removeProp = function (prop) {\n return this.each(function (i, ele) { delete ele[propMap[prop] || prop]; });\n};\nvar cssVariableRe = /^--/;\n// @require ./variables.ts\nfunction isCSSVariable(prop) {\n return cssVariableRe.test(prop);\n}\n// @require core/camel_case.ts\n// @require core/cash.ts\n// @require core/each.ts\n// @require core/variables.ts\n// @require ./is_css_variable.ts\nvar prefixedProps = {};\nvar style = div.style;\nvar vendorsPrefixes = ['webkit', 'moz', 'ms'];\nfunction getPrefixedProp(prop, isVariable) {\n if (isVariable === void 0) { isVariable = isCSSVariable(prop); }\n if (isVariable)\n return prop;\n if (!prefixedProps[prop]) {\n var propCC = camelCase(prop);\n var propUC = \"\".concat(propCC[0].toUpperCase()).concat(propCC.slice(1));\n var props = (\"\".concat(propCC, \" \").concat(vendorsPrefixes.join(\"\".concat(propUC, \" \"))).concat(propUC)).split(' ');\n each(props, function (i, p) {\n if (p in style) {\n prefixedProps[prop] = p;\n return false;\n }\n });\n }\n return prefixedProps[prop];\n}\n// @require core/type_checking.ts\n// @require ./is_css_variable.ts\nvar numericProps = {\n animationIterationCount: true,\n columnCount: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n widows: true,\n zIndex: true\n};\nfunction getSuffixedValue(prop, value, isVariable) {\n if (isVariable === void 0) { isVariable = isCSSVariable(prop); }\n return !isVariable && !numericProps[prop] && isNumeric(value) ? \"\".concat(value, \"px\") : value;\n}\nfunction css(prop, value) {\n if (isString(prop)) {\n var isVariable_1 = isCSSVariable(prop);\n prop = getPrefixedProp(prop, isVariable_1);\n if (arguments.length < 2)\n return this[0] && computeStyle(this[0], prop, isVariable_1);\n if (!prop)\n return this;\n value = getSuffixedValue(prop, value, isVariable_1);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n if (isVariable_1) {\n ele.style.setProperty(prop, value);\n }\n else {\n ele.style[prop] = value;\n }\n });\n }\n for (var key in prop) {\n this.css(key, prop[key]);\n }\n return this;\n}\n;\nfn.css = css;\nfunction attempt(fn, arg) {\n try {\n return fn(arg);\n }\n catch (_a) {\n return arg;\n }\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nvar JSONStringRe = /^\\s+|\\s+$/;\nfunction getData(ele, key) {\n var value = ele.dataset[key] || ele.dataset[camelCase(key)];\n if (JSONStringRe.test(value))\n return value;\n return attempt(JSON.parse, value);\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nfunction setData(ele, key, value) {\n value = attempt(JSON.stringify, value);\n ele.dataset[camelCase(key)] = value;\n}\nfunction data(name, value) {\n if (!name) {\n if (!this[0])\n return;\n var datas = {};\n for (var key in this[0].dataset) {\n datas[key] = getData(this[0], key);\n }\n return datas;\n }\n if (isString(name)) {\n if (arguments.length < 2)\n return this[0] && getData(this[0], name);\n if (isUndefined(value))\n return this;\n return this.each(function (i, ele) { setData(ele, name, value); });\n }\n for (var key in name) {\n this.data(key, name[key]);\n }\n return this;\n}\nfn.data = data;\nfunction getDocumentDimension(doc, dimension) {\n var docEle = doc.documentElement;\n return Math.max(doc.body[\"scroll\".concat(dimension)], docEle[\"scroll\".concat(dimension)], doc.body[\"offset\".concat(dimension)], docEle[\"offset\".concat(dimension)], docEle[\"client\".concat(dimension)]);\n}\neach([true, false], function (i, outer) {\n each(['Width', 'Height'], function (i, prop) {\n var name = \"\".concat(outer ? 'outer' : 'inner').concat(prop);\n fn[name] = function (includeMargins) {\n if (!this[0])\n return;\n if (isWindow(this[0]))\n return outer ? this[0][\"inner\".concat(prop)] : this[0].document.documentElement[\"client\".concat(prop)];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0][\"\".concat(outer ? 'offset' : 'client').concat(prop)] + (includeMargins && outer ? computeStyleInt(this[0], \"margin\".concat(i ? 'Top' : 'Left')) + computeStyleInt(this[0], \"margin\".concat(i ? 'Bottom' : 'Right')) : 0);\n };\n });\n});\neach(['Width', 'Height'], function (index, prop) {\n var propLC = prop.toLowerCase();\n fn[propLC] = function (value) {\n if (!this[0])\n return isUndefined(value) ? undefined : this;\n if (!arguments.length) {\n if (isWindow(this[0]))\n return this[0].document.documentElement[\"client\".concat(prop)];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0].getBoundingClientRect()[propLC] - getExtraSpace(this[0], !index);\n }\n var valueNumber = parseInt(value, 10);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n var boxSizing = computeStyle(ele, 'boxSizing');\n ele.style[propLC] = getSuffixedValue(propLC, valueNumber + (boxSizing === 'border-box' ? getExtraSpace(ele, !index) : 0));\n });\n };\n});\nvar displayProperty = '___cd';\nfn.toggle = function (force) {\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n var show = isUndefined(force) ? isHidden(ele) : force;\n if (show) {\n ele.style.display = ele[displayProperty] || '';\n if (isHidden(ele)) {\n ele.style.display = getDefaultDisplay(ele.tagName);\n }\n }\n else {\n ele[displayProperty] = computeStyle(ele, 'display');\n ele.style.display = 'none';\n }\n });\n};\nfn.hide = function () {\n return this.toggle(false);\n};\nfn.show = function () {\n return this.toggle(true);\n};\nvar eventsNamespace = '___ce';\nvar eventsNamespacesSeparator = '.';\nvar eventsFocus = { focus: 'focusin', blur: 'focusout' };\nvar eventsHover = { mouseenter: 'mouseover', mouseleave: 'mouseout' };\nvar eventsMouseRe = /^(mouse|pointer|contextmenu|drag|drop|click|dblclick)/i;\n// @require ./variables.ts\nfunction getEventNameBubbling(name) {\n return eventsHover[name] || eventsFocus[name] || name;\n}\n// @require ./variables.ts\nfunction parseEventName(eventName) {\n var parts = eventName.split(eventsNamespacesSeparator);\n return [parts[0], parts.slice(1).sort()]; // [name, namespace[]]\n}\nfn.trigger = function (event, data) {\n if (isString(event)) {\n var _a = parseEventName(event), nameOriginal = _a[0], namespaces = _a[1];\n var name_1 = getEventNameBubbling(nameOriginal);\n if (!name_1)\n return this;\n var type = eventsMouseRe.test(name_1) ? 'MouseEvents' : 'HTMLEvents';\n event = doc.createEvent(type);\n event.initEvent(name_1, true, true);\n event.namespace = namespaces.join(eventsNamespacesSeparator);\n event.___ot = nameOriginal;\n }\n event.___td = data;\n var isEventFocus = (event.___ot in eventsFocus);\n return this.each(function (i, ele) {\n if (isEventFocus && isFunction(ele[event.___ot])) {\n ele[\"___i\".concat(event.type)] = true; // Ensuring the native event is ignored\n ele[event.___ot]();\n ele[\"___i\".concat(event.type)] = false; // Ensuring the custom event is not ignored\n }\n ele.dispatchEvent(event);\n });\n};\n// @require ./variables.ts\nfunction getEventsCache(ele) {\n return ele[eventsNamespace] = (ele[eventsNamespace] || {});\n}\n// @require core/guid.ts\n// @require events/helpers/get_events_cache.ts\nfunction addEvent(ele, name, namespaces, selector, callback) {\n var eventCache = getEventsCache(ele);\n eventCache[name] = (eventCache[name] || []);\n eventCache[name].push([namespaces, selector, callback]);\n ele.addEventListener(name, callback);\n}\nfunction hasNamespaces(ns1, ns2) {\n return !ns2 || !some.call(ns2, function (ns) { return ns1.indexOf(ns) < 0; });\n}\n// @require ./get_events_cache.ts\n// @require ./has_namespaces.ts\n// @require ./parse_event_name.ts\nfunction removeEvent(ele, name, namespaces, selector, callback) {\n var cache = getEventsCache(ele);\n if (!name) {\n for (name in cache) {\n removeEvent(ele, name, namespaces, selector, callback);\n }\n }\n else if (cache[name]) {\n cache[name] = cache[name].filter(function (_a) {\n var ns = _a[0], sel = _a[1], cb = _a[2];\n if ((callback && cb.guid !== callback.guid) || !hasNamespaces(ns, namespaces) || (selector && selector !== sel))\n return true;\n ele.removeEventListener(name, cb);\n });\n }\n}\nfn.off = function (eventFullName, selector, callback) {\n var _this = this;\n if (isUndefined(eventFullName)) {\n this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele);\n });\n }\n else if (!isString(eventFullName)) {\n for (var key in eventFullName) {\n this.off(key, eventFullName[key]);\n }\n }\n else {\n if (isFunction(selector)) {\n callback = selector;\n selector = '';\n }\n each(getSplitValues(eventFullName), function (i, eventFullName) {\n var _a = parseEventName(eventFullName), nameOriginal = _a[0], namespaces = _a[1];\n var name = getEventNameBubbling(nameOriginal);\n _this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele, name, namespaces, selector, callback);\n });\n });\n }\n return this;\n};\nfn.remove = function (comparator) {\n filtered(this, comparator).detach().off();\n return this;\n};\nfn.replaceWith = function (selector) {\n return this.before(selector).remove();\n};\nfn.replaceAll = function (selector) {\n cash(selector).replaceWith(this);\n return this;\n};\nfunction on(eventFullName, selector, data, callback, _one) {\n var _this = this;\n if (!isString(eventFullName)) {\n for (var key in eventFullName) {\n this.on(key, selector, data, eventFullName[key], _one);\n }\n return this;\n }\n if (!isString(selector)) {\n if (isUndefined(selector) || isNull(selector)) {\n selector = '';\n }\n else if (isUndefined(data)) {\n data = selector;\n selector = '';\n }\n else {\n callback = data;\n data = selector;\n selector = '';\n }\n }\n if (!isFunction(callback)) {\n callback = data;\n data = undefined;\n }\n if (!callback)\n return this;\n each(getSplitValues(eventFullName), function (i, eventFullName) {\n var _a = parseEventName(eventFullName), nameOriginal = _a[0], namespaces = _a[1];\n var name = getEventNameBubbling(nameOriginal);\n var isEventHover = (nameOriginal in eventsHover);\n var isEventFocus = (nameOriginal in eventsFocus);\n if (!name)\n return;\n _this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n var finalCallback = function (event) {\n if (event.target[\"___i\".concat(event.type)])\n return event.stopImmediatePropagation(); // Ignoring native event in favor of the upcoming custom one\n if (event.namespace && !hasNamespaces(namespaces, event.namespace.split(eventsNamespacesSeparator)))\n return;\n if (!selector && ((isEventFocus && (event.target !== ele || event.___ot === name)) || (isEventHover && event.relatedTarget && ele.contains(event.relatedTarget))))\n return;\n var thisArg = ele;\n if (selector) {\n var target = event.target;\n while (!matches(target, selector)) {\n if (target === ele)\n return;\n target = target.parentNode;\n if (!target)\n return;\n }\n thisArg = target;\n }\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function () {\n return thisArg;\n }\n });\n Object.defineProperty(event, 'delegateTarget', {\n configurable: true,\n get: function () {\n return ele;\n }\n });\n Object.defineProperty(event, 'data', {\n configurable: true,\n get: function () {\n return data;\n }\n });\n var returnValue = callback.call(thisArg, event, event.___td);\n if (_one) {\n removeEvent(ele, name, namespaces, selector, finalCallback);\n }\n if (returnValue === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n finalCallback.guid = callback.guid = (callback.guid || cash.guid++);\n addEvent(ele, name, namespaces, selector, finalCallback);\n });\n });\n return this;\n}\nfn.on = on;\nfunction one(eventFullName, selector, data, callback) {\n return this.on(eventFullName, selector, data, callback, true);\n}\n;\nfn.one = one;\nvar queryEncodeSpaceRe = /%20/g;\nvar queryEncodeCRLFRe = /\\r?\\n/g;\nfunction queryEncode(prop, value) {\n return \"&\".concat(encodeURIComponent(prop), \"=\").concat(encodeURIComponent(value.replace(queryEncodeCRLFRe, '\\r\\n')).replace(queryEncodeSpaceRe, '+'));\n}\nvar skippableRe = /file|reset|submit|button|image/i;\nvar checkableRe = /radio|checkbox/i;\nfn.serialize = function () {\n var query = '';\n this.each(function (i, ele) {\n each(ele.elements || [ele], function (i, ele) {\n if (ele.disabled || !ele.name || ele.tagName === 'FIELDSET' || skippableRe.test(ele.type) || (checkableRe.test(ele.type) && !ele.checked))\n return;\n var value = getValue(ele);\n if (!isUndefined(value)) {\n var values = isArray(value) ? value : [value];\n each(values, function (i, value) {\n query += queryEncode(ele.name, value);\n });\n }\n });\n });\n return query.slice(1);\n};\n// @require core/types.ts\n// @require core/cash.ts\n// @require core/type_checking.ts\n// @require core/variables.ts\n// @require core/each.ts\n// @require core/extend.ts\n// @require core/find.ts\n// @require core/get_compare_function.ts\n// @require core/get_split_values.ts\n// @require core/guid.ts\n// @require core/parse_html.ts\n// @require core/unique.ts\n// @require attributes/add_class.ts\n// @require attributes/attr.ts\n// @require attributes/has_class.ts\n// @require attributes/prop.ts\n// @require attributes/remove_attr.ts\n// @require attributes/remove_class.ts\n// @require attributes/remove_prop.ts\n// @require attributes/toggle_class.ts\n// @require collection/add.ts\n// @require collection/each.ts\n// @require collection/eq.ts\n// @require collection/filter.ts\n// @require collection/first.ts\n// @require collection/get.ts\n// @require collection/index.ts\n// @require collection/last.ts\n// @require collection/map.ts\n// @require collection/slice.ts\n// @require css/css.ts\n// @require data/data.ts\n// @require dimensions/inner_outer.ts\n// @require dimensions/normal.ts\n// @require effects/hide.ts\n// @require effects/show.ts\n// @require effects/toggle.ts\n// @require events/off.ts\n// @require events/on.ts\n// @require events/one.ts\n// @require events/ready.ts\n// @require events/trigger.ts\n// @require forms/serialize.ts\n// @require forms/val.ts\n// @require manipulation/after.ts\n// @require manipulation/append.ts\n// @require manipulation/append_to.ts\n// @require manipulation/before.ts\n// @require manipulation/clone.ts\n// @require manipulation/detach.ts\n// @require manipulation/empty.ts\n// @require manipulation/html.ts\n// @require manipulation/insert_after.ts\n// @require manipulation/insert_before.ts\n// @require manipulation/prepend.ts\n// @require manipulation/prepend_to.ts\n// @require manipulation/remove.ts\n// @require manipulation/replace_all.ts\n// @require manipulation/replace_with.ts\n// @require manipulation/text.ts\n// @require manipulation/unwrap.ts\n// @require manipulation/wrap.ts\n// @require manipulation/wrap_all.ts\n// @require manipulation/wrap_inner.ts\n// @require offset/offset.ts\n// @require offset/offset_parent.ts\n// @require offset/position.ts\n// @require traversal/children.ts\n// @require traversal/closest.ts\n// @require traversal/contents.ts\n// @require traversal/find.ts\n// @require traversal/has.ts\n// @require traversal/is.ts\n// @require traversal/next.ts\n// @require traversal/next_all.ts\n// @require traversal/next_until.ts\n// @require traversal/not.ts\n// @require traversal/parent.ts\n// @require traversal/parents.ts\n// @require traversal/parents_until.ts\n// @require traversal/prev.ts\n// @require traversal/prev_all.ts\n// @require traversal/prev_until.ts\n// @require traversal/siblings.ts\n// @no-require extras/get_script.ts\n// @no-require extras/shorthands.ts\n// @require methods.ts\nif (true) { // Node.js\n module.exports = cash;\n}\nelse {}\n})();\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js?"); + +/***/ }), + +/***/ "./src/view/page/login/index.less": +/*!****************************************!*\ + !*** ./src/view/page/login/index.less ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/login/index.less?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js": +/*!**********************************************************************************************************************!*\ + !*** ../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js ***! + \**********************************************************************************************************************/ +/***/ ((module) => { + +eval("!function(e){var t; true?module.exports=e():0}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t=undefined;if(!e&&t)return require(n,!0);if(a)return a(n,!0);throw new Error(\"Cannot find module '\"+n+\"'\")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a=undefined,e=0;e>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u=\"\";function s(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)}for(t=0,r=e.length-i;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+\"==\";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+\"=\"}return u}}(void 0===f?this.base64js={}:f)}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js\",\"/node_modules/gulp-browserify/node_modules/base64-js/lib\")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O(\"base64-js\"),i=O(\"ieee754\");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if(\"base64\"===t&&\"string\"==s)for(e=(u=e).trim?u.trim():u.replace(/^\\s+|\\s+$/g,\"\");e.length%4!=0;)e+=\"=\";if(\"number\"==s)r=j(e);else if(\"string\"==s)r=f.byteLength(e,t);else{if(\"object\"!=s)throw new Error(\"First argument needs to be a number, array or string.\");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&\"number\"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&\"object\"==typeof u&&\"number\"==typeof u.length)for(i=0;i>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o>>0)):(t+1>>0),o}function _(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1this.length&&(r=this.length);var o=(r=e.length-t=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d(\"number\"==typeof(e=\"string\"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),\"value is not a number\"),d(t<=n,\"end < start\"),n!==t&&0!==this.length){d(0<=t&&t\"},f.prototype.toArrayBuffer=function(){if(\"undefined\"==typeof Uint8Array)throw new Error(\"Buffer.toArrayBuffer not supported in this browser\");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(0<=e,\"specified a negative value for writing an unsigned value\"),d(e<=t,\"value is larger than maximum value for type\"),d(Math.floor(e)===e,\"value has a fractional component\")}function F(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\"),d(Math.floor(e)===e,\"value has a fractional component\")}function D(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\")}function d(e,t){if(!e)throw new Error(t||\"Failed assertion\")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},O(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/buffer/index.js\",\"/node_modules/gulp-browserify/node_modules/buffer\")},{\"base64-js\":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c(\"buffer\").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;is?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r>>((3&r)<<3)&255;return n}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c(\"./helpers\");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0>=-s,s+=r;0>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o< { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PREFIX = void 0;\nexports.PREFIX = '';\n\n\n//# sourceURL=webpack://@backset/server/./src/config/router.ts?"); + +/***/ }), + +/***/ "./src/view/api/index.ts": +/*!*******************************!*\ + !*** ./src/view/api/index.ts ***! + \*******************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createUser = exports.getVerifyCode = exports.userLogin = void 0;\nconst request_1 = __webpack_require__(/*! ../lib/request */ \"./src/view/lib/request.ts\");\nconst userLogin = (p) => request_1.axiosCommon.post('/user/login', p);\nexports.userLogin = userLogin;\nconst getVerifyCode = (p) => request_1.axiosCommon.post('/sms/verifycode', p);\nexports.getVerifyCode = getVerifyCode;\nconst createUser = (p) => request_1.axiosCommon.post('/user/create', p);\nexports.createUser = createUser;\n\n\n//# sourceURL=webpack://@backset/server/./src/view/api/index.ts?"); + +/***/ }), + +/***/ "./src/view/lib/request.ts": +/*!*********************************!*\ + !*** ./src/view/lib/request.ts ***! + \*********************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.axiosCommon = exports.sourceCommon = void 0;\nconst axios_1 = __importDefault(__webpack_require__(/*! axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js\"));\nconst router_1 = __webpack_require__(/*! ../../config/router */ \"./src/config/router.ts\");\nconst CancelToken = axios_1.default.CancelToken;\nexports.sourceCommon = CancelToken.source();\nconst axiosCommon = axios_1.default.create({\n timeout: 6000 * 1000,\n cancelToken: exports.sourceCommon.token,\n baseURL: router_1.PREFIX.startsWith('/') ? router_1.PREFIX : '/' + router_1.PREFIX,\n});\nexports.axiosCommon = axiosCommon;\naxiosCommon.interceptors.request.use((config) => {\n return config;\n}, (error) => {\n return Promise.reject(error);\n});\naxiosCommon.interceptors.response.use((response) => {\n const { code } = response.data;\n switch (code) {\n case 1000:\n if (window.location.pathname != '/login') {\n window.location.href = `/login`;\n }\n break;\n default:\n break;\n }\n return response.data;\n}, (err) => Promise.reject(err));\n\n\n//# sourceURL=webpack://@backset/server/./src/view/lib/request.ts?"); + +/***/ }), + +/***/ "./src/view/page/login/index.ts": +/*!**************************************!*\ + !*** ./src/view/page/login/index.ts ***! + \**************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__webpack_require__(/*! ./index.less */ \"./src/view/page/login/index.less\");\nconst cash_dom_1 = __importDefault(__webpack_require__(/*! cash-dom */ \"../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js\"));\nconst api_1 = __webpack_require__(/*! ../../api */ \"./src/view/api/index.ts\");\nconst util_1 = __webpack_require__(/*! @backset/util */ \"../../packages/util/dist/index.js\");\n(0, cash_dom_1.default)(function () {\n (0, cash_dom_1.default)('#page-signup')\n .on('click', '#btn-switch-login-type', handleSwitchLoginType)\n .on('click', '#btn-signup-password', handlePasswordLogin)\n .on('click', '#btn-signup-verify', handleVerifyLogin)\n .on('click', '#btn-verify-code', handleGetVerifyCode);\n function handleGetVerifyCode() {\n const params = { phone: '' + (0, cash_dom_1.default)('#tel').val() };\n if (!util_1.RegUtil.PHONE.test(params.phone))\n return;\n (0, cash_dom_1.default)('#btn-verify-code').addClass('loading');\n (0, api_1.getVerifyCode)(params).then((res) => {\n console.log(res);\n if (res) {\n (0, cash_dom_1.default)('#btn-verify-code').removeClass('loading');\n }\n });\n }\n function handleVerifyLogin() {\n const params = {\n login_type: 'verifycode',\n user_login: '' + (0, cash_dom_1.default)('#tel').val(),\n verify_code: '' + (0, cash_dom_1.default)('#verify-code').val(),\n };\n (0, api_1.userLogin)(params).then((res) => {\n console.log(res);\n });\n }\n function handlePasswordLogin() {\n const params = {\n login_type: 'password',\n user_login: '' + (0, cash_dom_1.default)('#username').val(),\n user_pass: '' + (0, cash_dom_1.default)('#password').val(),\n };\n (0, api_1.userLogin)(params).then((res) => {\n console.log(res);\n });\n }\n function handleSwitchLoginType() {\n const switchVerify = (0, cash_dom_1.default)(this).attr('data-login-type') === 'password';\n if (switchVerify) {\n (0, cash_dom_1.default)('#verify-form').removeClass('d-none');\n (0, cash_dom_1.default)('#password-form').addClass('d-none');\n (0, cash_dom_1.default)(this).attr('data-login-type', 'verify').html('密码登陆');\n }\n else {\n (0, cash_dom_1.default)('#verify-form').addClass('d-none');\n (0, cash_dom_1.default)('#password-form').removeClass('d-none');\n (0, cash_dom_1.default)(this).attr('data-login-type', 'password').html('验证码登陆');\n }\n }\n});\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/login/index.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module is referenced by other modules so it can't be inlined +/******/ var __webpack_exports__ = __webpack_require__("./src/view/page/login/index.ts"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/apps/server/public/notFound.css b/apps/server/public/notFound.css new file mode 100644 index 0000000..226a97e --- /dev/null +++ b/apps/server/public/notFound.css @@ -0,0 +1,4301 @@ +/*!******************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ../../node_modules/.pnpm/css-loader@6.7.3_webpack@5.75.0/node_modules/css-loader/dist/cjs.js!../../node_modules/.pnpm/less-loader@4.1.0_less@3.8.0+webpack@5.75.0/node_modules/less-loader/dist/cjs.js!./src/view/page/notFound/index.less ***! + \******************************************************************************************************************************************************************************************************************************************************/ +/*! Spectre.css | MIT License | github.com/picturepan2/spectre */ +/* Manually forked from Normalize.css */ +/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +/* Document + ========================================================================== */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 3 */ + -webkit-text-size-adjust: 100%; + /* 3 */ +} +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +body { + margin: 0; +} +/** + * Add the correct display in IE 9-. + */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ +figcaption, +figure, +main { + /* 1 */ + display: block; +} +/** + * Add the correct margin in IE 8 (removed). + */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. (removed) + * 2. Correct the odd `em` font sizing in all browsers. + */ +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ +a:active, +a:hover { + outline-width: 0; +} +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) + */ +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +b, +strong { + font-weight: inherit; +} +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace; + /* 1 (changed) */ + font-size: 1em; + /* 2 */ +} +/** + * Add the correct font style in Android 4.3-. + */ +dfn { + font-style: italic; +} +/** + * Add the correct background and color in IE 9-. (Removed) + */ +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; + font-weight: 400; + /* (added) */ +} +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +audio, +video { + display: inline-block; +} +/** + * Add the correct display in iOS 4-7. + */ +audio:not([controls]) { + display: none; + height: 0; +} +/** + * Remove the border on images inside links in IE 10-. + */ +img { + border-style: none; +} +/** + * Hide the overflow in IE. + */ +svg:not(:root) { + overflow: hidden; +} +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 (changed) */ + font-size: inherit; + /* 1 (changed) */ + line-height: inherit; + /* 1 (changed) */ + margin: 0; + /* 2 */ +} +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +/** + * Restore the focus styles unset by the previous rule (removed). + */ +/** + * Change the border, margin, and padding in all browsers (opinionated) (changed). + */ +fieldset { + border: 0; + margin: 0; + padding: 0; +} +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} +/** + * Remove the default vertical scrollbar in IE. + */ +textarea { + overflow: auto; +} +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} +/* Interactive + ========================================================================== */ +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ +details, +menu { + display: block; +} +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +canvas { + display: inline-block; +} +/** + * Add the correct display in IE. + */ +template { + display: none; +} +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +[hidden] { + display: none; +} +*, +*::before, +*::after { + box-sizing: inherit; +} +html { + box-sizing: border-box; + font-size: 20px; + line-height: 1.42857143; + -webkit-tap-highlight-color: transparent; +} +body { + background: #fff; + color: #50596c; + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; + font-size: 0.7rem; + overflow-x: hidden; + text-rendering: optimizeLegibility; +} +a { + color: #121212; + outline: none; + text-decoration: none; +} +a:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +a:focus, +a:hover, +a:active, +a.active { + color: #050505; + text-decoration: underline; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: inherit; + font-weight: 500; + line-height: 1.2; + margin-bottom: 0.25em; + margin-top: 0; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-weight: 500; +} +h1, +.h1 { + font-size: 2rem; +} +h2, +.h2 { + font-size: 1.6rem; +} +h3, +.h3 { + font-size: 1.4rem; +} +h4, +.h4 { + font-size: 1.2rem; +} +h5, +.h5 { + font-size: 1rem; +} +h6, +.h6 { + font-size: 0.8rem; +} +p { + line-height: 1.2rem; + margin: 0 0 0.8rem; +} +a, +ins, +u { + text-decoration-skip: ink edges; +} +abbr[title] { + border-bottom: 0.05rem dotted; + cursor: help; + text-decoration: none; +} +kbd { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #454d5d; + color: #fff; +} +mark { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #ffe9b3; + color: #50596c; +} +blockquote { + border-left: 0.1rem solid #e7e9ed; + margin-left: 0; + padding: 0.4rem 0.8rem; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol { + margin: 0.8rem 0 0.8rem 0.8rem; + padding: 0; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin: 0.8rem 0 0.8rem 0.8rem; +} +ul li, +ol li { + margin-top: 0.4rem; +} +ul { + list-style: disc inside; +} +ul ul { + list-style-type: circle; +} +ol { + list-style: decimal inside; +} +ol ol { + list-style-type: lower-alpha; +} +dl dt { + font-weight: bold; +} +dl dd { + margin: 0.4rem 0 0.8rem 0; +} +:lang(zh) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif; +} +:lang(ja) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif; +} +:lang(ko) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif; +} +:lang(zh) ins, +:lang(ja) ins, +.cjk ins, +:lang(zh) u, +:lang(ja) u, +.cjk u { + border-bottom: 0.05rem solid; + text-decoration: none; +} +:lang(zh) del + del, +:lang(ja) del + del, +.cjk del + del, +:lang(zh) del + s, +:lang(ja) del + s, +.cjk del + s, +:lang(zh) ins + ins, +:lang(ja) ins + ins, +.cjk ins + ins, +:lang(zh) ins + u, +:lang(ja) ins + u, +.cjk ins + u, +:lang(zh) s + del, +:lang(ja) s + del, +.cjk s + del, +:lang(zh) s + s, +:lang(ja) s + s, +.cjk s + s, +:lang(zh) u + ins, +:lang(ja) u + ins, +.cjk u + ins, +:lang(zh) u + u, +:lang(ja) u + u, +.cjk u + u { + margin-left: 0.125em; +} +.table { + border-collapse: collapse; + border-spacing: 0; + text-align: left; + width: 100%; +} +.table.table-striped tbody tr:nth-of-type(odd) { + background: #f8f9fa; +} +.table.table-hover tbody tr:hover { + background: #f0f1f4; +} +.table tbody tr.active, +.table.table-striped tbody tr.active { + background: #f0f1f4; +} +.table td, +.table th { + border-bottom: 0.05rem solid #e7e9ed; + padding: 0.6rem 0.4rem; +} +.table th { + border-bottom-width: 0.1rem; +} +.btn { + appearance: none; + background: #fff; + border: 0.05rem solid #121212; + border-radius: 0.1rem; + color: #121212; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + text-align: center; + text-decoration: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.btn:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.btn:focus, +.btn:hover { + background: #787878; + border-color: #0a0a0a; + text-decoration: none; +} +.btn:active, +.btn.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; + text-decoration: none; +} +.btn:active.loading::after, +.btn.active.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn[disabled], +.btn:disabled, +.btn.disabled { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.btn.btn-primary { + background: #121212; + border-color: #0a0a0a; + color: #fff; +} +.btn.btn-primary:focus, +.btn.btn-primary:hover { + background: #050505; + border-color: #000000; + color: #fff; +} +.btn.btn-primary:active, +.btn.btn-primary.active { + background: #000000; + border-color: #000000; + color: #fff; +} +.btn.btn-primary.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn.btn-link { + background: transparent; + border-color: transparent; + color: #121212; +} +.btn.btn-link:focus, +.btn.btn-link:hover, +.btn.btn-link:active, +.btn.btn-link.active { + color: #050505; +} +.btn.btn-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.3rem; +} +.btn.btn-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.6rem; +} +.btn.btn-block { + display: block; + width: 100%; +} +.btn.btn-action { + width: 1.6rem; + padding-left: 0; + padding-right: 0; +} +.btn.btn-action.btn-sm { + width: 1.2rem; +} +.btn.btn-action.btn-lg { + width: 2rem; +} +.btn.btn-clear { + background: transparent; + border: 0; + color: currentColor; + height: 0.8rem; + line-height: 0.8rem; + margin-left: 0.2rem; + margin-right: -2px; + opacity: 0.45; + padding: 0 2px; + text-decoration: none; + width: 0.8rem; +} +.btn.btn-clear:hover { + opacity: 0.85; +} +.btn.btn-clear::before { + content: "\2715"; +} +.btn-group { + display: inline-flex; + flex-wrap: wrap; +} +.btn-group .btn { + flex: 1 0 auto; +} +.btn-group .btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group .btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:focus, +.btn-group .btn:hover, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 1; +} +.btn-group.btn-group-block { + display: flex; +} +.btn-group.btn-group-block .btn { + flex: 1 0 0; +} +.form-group:not(:last-child) { + margin-bottom: 0.4rem; +} +fieldset { + margin-bottom: 0.8rem; +} +legend { + font-size: 0.8rem; + font-weight: 500; + margin-bottom: 0.8rem; +} +.form-label { + display: block; + padding: 0.3rem 0; +} +.form-label.label-sm { + padding: 0.1rem 0; +} +.form-label.label-lg { + padding: 0.5rem 0; +} +.form-input { + appearance: none; + background: #fff; + background-image: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: #50596c; + transition: all 0.2s ease; + display: block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + max-width: 100%; + outline: none; + padding: 0.25rem 0.4rem; + position: relative; + width: 100%; +} +.form-input:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-input::placeholder { + color: #acb3c2; +} +.form-input.input-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.4rem; +} +.form-input.input-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.4rem; +} +.form-input.input-inline { + display: inline-block; + vertical-align: middle; + width: auto; +} +textarea.form-input { + height: auto; +} +.form-input[type="file"] { + height: auto; +} +.form-input-hint { + color: #acb3c2; + font-size: 0.6rem; + margin-top: 0.2rem; +} +.has-success .form-input-hint, +.is-success + .form-input-hint { + color: #32b643; +} +.has-error .form-input-hint, +.is-error + .form-input-hint { + color: #e85600; +} +.form-select { + appearance: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: inherit; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + vertical-align: middle; + width: 100%; +} +.form-select[size], +.form-select[multiple] { + height: auto; +} +.form-select[size] option, +.form-select[multiple] option { + padding: 0.1rem 0.2rem; +} +.form-select:not([multiple]):not([size]) { + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27%3E%3Cpath fill=%27%23667189%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3E%3C/svg%3E") no-repeat right 0.35rem center / 0.4rem 0.5rem; + padding-right: 1.1rem; +} +.form-select:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-select::-ms-expand { + display: none; +} +.form-select.select-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 1.1rem 0.05rem 0.4rem; +} +.form-select.select-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 1.1rem 0.45rem 0.4rem; +} +.has-icon-left, +.has-icon-right { + position: relative; +} +.has-icon-left .form-icon, +.has-icon-right .form-icon { + height: 0.7rem; + margin: 0 0.25rem; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 0.7rem; +} +.has-icon-left .form-icon { + left: 0.05rem; +} +.has-icon-left .form-input { + padding-left: 1.2rem; +} +.has-icon-right .form-icon { + right: 0.05rem; +} +.has-icon-right .form-input { + padding-right: 1.2rem; +} +.form-checkbox, +.form-radio, +.form-switch { + display: inline-block; + line-height: 1rem; + padding: 0.1rem 1.1rem; + position: relative; +} +.form-checkbox input, +.form-radio input, +.form-switch input { + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + width: 1px; +} +.form-checkbox input:focus + .form-icon, +.form-radio input:focus + .form-icon, +.form-switch input:focus + .form-icon { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-checkbox input:checked + .form-icon, +.form-radio input:checked + .form-icon, +.form-switch input:checked + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox .form-icon, +.form-radio .form-icon, +.form-switch .form-icon { + border: 0.05rem solid #caced7; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + position: absolute; +} +.form-checkbox .form-icon, +.form-radio .form-icon { + background: #fff; + height: 0.7rem; + left: 0; + top: 0.25rem; + width: 0.7rem; +} +.form-checkbox input:active + .form-icon, +.form-radio input:active + .form-icon { + background: #f0f1f4; +} +.form-checkbox .form-icon { + border-radius: 0.1rem; +} +.form-checkbox input:checked + .form-icon::before { + background-clip: padding-box; + border: 0.1rem solid #fff; + border-left-width: 0; + border-top-width: 0; + content: ""; + height: 10px; + left: 50%; + margin-left: -3px; + margin-top: -6px; + position: absolute; + top: 50%; + transform: rotate(45deg); + width: 6px; +} +.form-checkbox input:indeterminate + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox input:indeterminate + .form-icon::before { + background: #fff; + content: ""; + height: 2px; + left: 50%; + margin-left: -5px; + margin-top: -1px; + position: absolute; + top: 50%; + width: 10px; +} +.form-radio .form-icon { + border-radius: 0.35rem; +} +.form-radio input:checked + .form-icon::before { + background: #fff; + border-radius: 0.1rem; + content: ""; + height: 4px; + left: 50%; + margin-left: -2px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 4px; +} +.form-switch { + padding-left: 2rem; +} +.form-switch .form-icon { + background: #e7e9ed; + background-clip: padding-box; + border-radius: 0.45rem; + height: 0.9rem; + left: 0; + top: 0.15rem; + width: 1.6rem; +} +.form-switch .form-icon::before { + background: #fff; + border-radius: 0.4rem; + content: ""; + display: block; + height: 0.8rem; + left: 0; + position: absolute; + top: 0; + transition: all 0.2s ease; + width: 0.8rem; +} +.form-switch input:checked + .form-icon::before { + left: 14px; +} +.form-switch input:active + .form-icon::before { + background: #f8f9fa; +} +.input-group { + display: flex; +} +.input-group .input-group-addon { + background: #f8f9fa; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + line-height: 1rem; + padding: 0.25rem 0.4rem; +} +.input-group .input-group-addon.addon-sm { + font-size: 0.6rem; + padding: 0.05rem 0.4rem; +} +.input-group .input-group-addon.addon-lg { + font-size: 0.8rem; + padding: 0.45rem 0.4rem; +} +.input-group .form-input, +.input-group .form-select { + flex: 1 1 auto; +} +.input-group .input-group-btn { + z-index: 1; +} +.input-group .form-input:first-child:not(:last-child), +.input-group .form-select:first-child:not(:last-child), +.input-group .input-group-addon:first-child:not(:last-child), +.input-group .input-group-btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group .form-input:not(:first-child):not(:last-child), +.input-group .form-select:not(:first-child):not(:last-child), +.input-group .input-group-addon:not(:first-child):not(:last-child), +.input-group .input-group-btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:last-child:not(:first-child), +.input-group .form-select:last-child:not(:first-child), +.input-group .input-group-addon:last-child:not(:first-child), +.input-group .input-group-btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:focus, +.input-group .form-select:focus, +.input-group .input-group-addon:focus, +.input-group .input-group-btn:focus { + z-index: 2; +} +.input-group .form-select { + width: auto; +} +.input-group.input-inline { + display: inline-flex; +} +.has-success .form-input, +.has-success .form-select, +.form-input.is-success, +.form-select.is-success { + border-color: #32b643; +} +.has-success .form-input:focus, +.has-success .form-select:focus, +.form-input.is-success:focus, +.form-select.is-success:focus { + box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2); +} +.has-error .form-input, +.has-error .form-select, +.form-input.is-error, +.form-select.is-error { + border-color: #e85600; +} +.has-error .form-input:focus, +.has-error .form-select:focus, +.form-input.is-error:focus, +.form-select.is-error:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.has-error .form-checkbox .form-icon, +.has-error .form-radio .form-icon, +.has-error .form-switch .form-icon, +.form-checkbox.is-error .form-icon, +.form-radio.is-error .form-icon, +.form-switch.is-error .form-icon { + border-color: #e85600; +} +.has-error .form-checkbox input:checked + .form-icon, +.has-error .form-radio input:checked + .form-icon, +.has-error .form-switch input:checked + .form-icon, +.form-checkbox.is-error input:checked + .form-icon, +.form-radio.is-error input:checked + .form-icon, +.form-switch.is-error input:checked + .form-icon { + background: #e85600; + border-color: #e85600; +} +.has-error .form-checkbox input:focus + .form-icon, +.has-error .form-radio input:focus + .form-icon, +.has-error .form-switch input:focus + .form-icon, +.form-checkbox.is-error input:focus + .form-icon, +.form-radio.is-error input:focus + .form-icon, +.form-switch.is-error input:focus + .form-icon { + border-color: #e85600; + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid { + border-color: #e85600; +} +.form-input:not(:placeholder-shown):invalid:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid + .form-input-hint { + color: #e85600; +} +.form-input:disabled, +.form-select:disabled, +.form-input.disabled, +.form-select.disabled { + background-color: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-input[readonly] { + background-color: #f8f9fa; +} +input:disabled + .form-icon, +input.disabled + .form-icon { + background: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-switch input:disabled + .form-icon::before, +.form-switch input.disabled + .form-icon::before { + background: #fff; +} +.form-horizontal { + padding: 0.4rem; +} +.form-horizontal .form-group { + display: flex; +} +.form-horizontal .form-checkbox, +.form-horizontal .form-radio, +.form-horizontal .form-switch { + margin: 0.2rem 0; +} +.label { + display: inline-block; + border-radius: 0.1rem; + padding: 0.15rem 0.2rem; + background: #f8f9fa; + color: #5b657a; + line-height: 1; +} +.label.label-rounded { + border-radius: 5rem; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.label.label-primary { + background: #121212; + color: #fff; +} +.label.label-secondary { + background: #787878; + color: #121212; +} +.label.label-success { + background: #32b643; + color: #fff; +} +.label.label-warning { + background: #ffb700; + color: #fff; +} +.label.label-error { + background: #e85600; + color: #fff; +} +code { + font-size: 0.65rem; + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #fdf4f4; + color: #e06870; +} +.code { + border-radius: 0.1rem; + color: #50596c; + line-height: 1rem; + position: relative; +} +.code::before { + content: attr(data-lang); + color: #acb3c2; + font-size: 0.6rem; + position: absolute; + right: 0.4rem; + top: 0.1rem; +} +.code code { + background: #f8f9fa; + color: inherit; + display: block; + line-height: inherit; + overflow-x: auto; + padding: 1rem; + width: 100%; +} +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} +.img-fit-cover { + object-fit: cover; +} +.img-fit-contain { + object-fit: contain; +} +.video-responsive { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.video-responsive::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.video-responsive iframe, +.video-responsive object, +.video-responsive embed { + border: 0; + bottom: 0; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.video-responsive video { + height: auto; + max-width: 100%; + width: 100%; +} +.video-responsive-4-3::before { + padding-bottom: 75%; +} +.video-responsive-1-1::before { + padding-bottom: 100%; +} +.figure { + margin: 0 0 0.4rem 0; +} +.figure .figure-caption { + color: #727e96; + margin-top: 0.4rem; +} +.container { + margin-left: auto; + margin-right: auto; + padding-left: 0.4rem; + padding-right: 0.4rem; + width: 100%; +} +.container.grid-xl { + max-width: 1296px; +} +.container.grid-lg { + max-width: 976px; +} +.container.grid-md { + max-width: 856px; +} +.container.grid-sm { + max-width: 616px; +} +.container.grid-xs { + max-width: 496px; +} +.show-xs, +.show-sm, +.show-md, +.show-lg, +.show-xl { + display: none !important; +} +.columns { + display: flex; + flex-wrap: wrap; + margin-left: -0.4rem; + margin-right: -0.4rem; +} +.columns.col-gapless { + margin-left: 0; + margin-right: 0; +} +.columns.col-gapless > .column { + padding-left: 0; + padding-right: 0; +} +.columns.col-oneline { + flex-wrap: nowrap; + overflow-x: auto; +} +.column { + flex: 1; + max-width: 100%; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.column.col-12, +.column.col-11, +.column.col-10, +.column.col-9, +.column.col-8, +.column.col-7, +.column.col-6, +.column.col-5, +.column.col-4, +.column.col-3, +.column.col-2, +.column.col-1 { + flex: none; +} +.col-12 { + width: 100%; +} +.col-11 { + width: 91.66666667%; +} +.col-10 { + width: 83.33333333%; +} +.col-9 { + width: 75%; +} +.col-8 { + width: 66.66666667%; +} +.col-7 { + width: 58.33333333%; +} +.col-6 { + width: 50%; +} +.col-5 { + width: 41.66666667%; +} +.col-4 { + width: 33.33333333%; +} +.col-3 { + width: 25%; +} +.col-2 { + width: 16.66666667%; +} +.col-1 { + width: 8.33333333%; +} +.col-auto { + flex: 0 0 auto; + max-width: none; + width: auto; +} +.col-mx-auto { + margin-left: auto; + margin-right: auto; +} +.col-ml-auto { + margin-left: auto; +} +.col-mr-auto { + margin-right: auto; +} +@media screen and (max-width: 1280px) { + .col-xl-12, + .col-xl-11, + .col-xl-10, + .col-xl-9, + .col-xl-8, + .col-xl-7, + .col-xl-6, + .col-xl-5, + .col-xl-4, + .col-xl-3, + .col-xl-2, + .col-xl-1 { + flex: none; + } + .col-xl-12 { + width: 100%; + } + .col-xl-11 { + width: 91.66666667%; + } + .col-xl-10 { + width: 83.33333333%; + } + .col-xl-9 { + width: 75%; + } + .col-xl-8 { + width: 66.66666667%; + } + .col-xl-7 { + width: 58.33333333%; + } + .col-xl-6 { + width: 50%; + } + .col-xl-5 { + width: 41.66666667%; + } + .col-xl-4 { + width: 33.33333333%; + } + .col-xl-3 { + width: 25%; + } + .col-xl-2 { + width: 16.66666667%; + } + .col-xl-1 { + width: 8.33333333%; + } + .hide-xl { + display: none !important; + } + .show-xl { + display: block !important; + } +} +@media screen and (max-width: 960px) { + .col-lg-12, + .col-lg-11, + .col-lg-10, + .col-lg-9, + .col-lg-8, + .col-lg-7, + .col-lg-6, + .col-lg-5, + .col-lg-4, + .col-lg-3, + .col-lg-2, + .col-lg-1 { + flex: none; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .hide-lg { + display: none !important; + } + .show-lg { + display: block !important; + } +} +@media screen and (max-width: 840px) { + .col-md-12, + .col-md-11, + .col-md-10, + .col-md-9, + .col-md-8, + .col-md-7, + .col-md-6, + .col-md-5, + .col-md-4, + .col-md-3, + .col-md-2, + .col-md-1 { + flex: none; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .hide-md { + display: none !important; + } + .show-md { + display: block !important; + } +} +@media screen and (max-width: 600px) { + .col-sm-12, + .col-sm-11, + .col-sm-10, + .col-sm-9, + .col-sm-8, + .col-sm-7, + .col-sm-6, + .col-sm-5, + .col-sm-4, + .col-sm-3, + .col-sm-2, + .col-sm-1 { + flex: none; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .hide-sm { + display: none !important; + } + .show-sm { + display: block !important; + } +} +@media screen and (max-width: 480px) { + .col-xs-12, + .col-xs-11, + .col-xs-10, + .col-xs-9, + .col-xs-8, + .col-xs-7, + .col-xs-6, + .col-xs-5, + .col-xs-4, + .col-xs-3, + .col-xs-2, + .col-xs-1 { + flex: none; + } + .col-xs-12 { + width: 100%; + } + .col-xs-11 { + width: 91.66666667%; + } + .col-xs-10 { + width: 83.33333333%; + } + .col-xs-9 { + width: 75%; + } + .col-xs-8 { + width: 66.66666667%; + } + .col-xs-7 { + width: 58.33333333%; + } + .col-xs-6 { + width: 50%; + } + .col-xs-5 { + width: 41.66666667%; + } + .col-xs-4 { + width: 33.33333333%; + } + .col-xs-3 { + width: 25%; + } + .col-xs-2 { + width: 16.66666667%; + } + .col-xs-1 { + width: 8.33333333%; + } + .hide-xs { + display: none !important; + } + .show-xs { + display: block !important; + } +} +.navbar { + align-items: stretch; + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.navbar .navbar-section { + align-items: center; + display: flex; + flex: 1 0 0; +} +.navbar .navbar-section:last-child { + justify-content: flex-end; +} +.navbar .navbar-center { + align-items: center; + display: flex; + flex: 0 0 auto; +} +.navbar .navbar-brand { + font-size: 0.8rem; + font-weight: 500; + text-decoration: none; +} +.panel { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.panel .panel-header, +.panel .panel-footer { + flex: 0 0 auto; + padding: 0.8rem; +} +.panel .panel-nav { + flex: 0 0 auto; +} +.panel .panel-body { + flex: 1 1 auto; + overflow-y: auto; + padding: 0 0.8rem; +} +.empty { + background: #f8f9fa; + border-radius: 0.1rem; + color: #727e96; + text-align: center; + padding: 1.6rem; +} +.empty .empty-icon { + margin-bottom: 0.8rem; +} +.empty .empty-title, +.empty .empty-subtitle { + margin: 0.4rem auto; +} +.empty .empty-action { + margin-top: 0.8rem; +} +.accordion .accordion-item input:checked ~ .accordion-header .icon { + transform: rotate(90deg); +} +.accordion .accordion-item input:checked ~ .accordion-body { + max-height: 1000px; +} +.accordion .accordion-item .accordion-header { + display: block; + padding: 0.2rem 0.4rem; +} +.accordion .accordion-item .accordion-header .icon { + transition: all 0.2s ease; +} +.accordion .accordion-item .accordion-body { + margin-bottom: 0.4rem; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease; +} +.form-autocomplete { + position: relative; +} +.form-autocomplete .form-autocomplete-input { + align-content: flex-start; + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 1.6rem; + padding: 0.1rem; +} +.form-autocomplete .form-autocomplete-input.is-focused { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-autocomplete .form-autocomplete-input .form-input { + border-color: transparent; + box-shadow: none; + display: inline-block; + flex: 1 0 auto; + height: 1.2rem; + line-height: 0.8rem; + margin: 0.1rem; + width: auto; +} +.form-autocomplete mark { + font-size: 1; + padding: 0.1em 0; +} +.form-autocomplete .menu { + left: 0; + position: absolute; + top: 100%; + width: 100%; +} +.avatar { + font-size: 0.8rem; + height: 1.6rem; + width: 1.6rem; + background: #121212; + border-radius: 50%; + color: rgba(255, 255, 255, 0.85); + display: inline-block; + font-weight: 300; + line-height: 1; + margin: 0; + position: relative; + vertical-align: middle; +} +.avatar.avatar-xs { + font-size: 0.4rem; + height: 0.8rem; + width: 0.8rem; +} +.avatar.avatar-sm { + font-size: 0.6rem; + height: 1.2rem; + width: 1.2rem; +} +.avatar.avatar-lg { + font-size: 1.2rem; + height: 2.4rem; + width: 2.4rem; +} +.avatar.avatar-xl { + font-size: 1.6rem; + height: 3.2rem; + width: 3.2rem; +} +.avatar img { + border-radius: 50%; + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.avatar .avatar-icon, +.avatar .avatar-presence { + background: #fff; + bottom: 14.64%; + height: 50%; + padding: 0.1rem; + position: absolute; + right: 14.64%; + transform: translate(50%, 50%); + width: 50%; + z-index: 2; +} +.avatar .avatar-presence { + background: #acb3c2; + box-shadow: 0 0 0 0.1rem #fff; + border-radius: 50%; + height: 0.5em; + width: 0.5em; +} +.avatar .avatar-presence.online { + background: #32b643; +} +.avatar .avatar-presence.busy { + background: #e85600; +} +.avatar .avatar-presence.away { + background: #ffb700; +} +.avatar[data-initial]::before { + color: currentColor; + content: attr(data-initial); + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + z-index: 1; +} +.badge { + position: relative; + white-space: nowrap; +} +.badge[data-badge]::after, +.badge:not([data-badge])::after { + background: #121212; + background-clip: padding-box; + border-radius: 0.5rem; + box-shadow: 0 0 0 0.1rem #fff; + color: #fff; + content: attr(data-badge); + display: inline-block; + transform: translate(-0.1rem, -0.5rem); +} +.badge[data-badge]::after { + font-size: 0.6rem; + height: 18px; + line-height: 1; + min-width: 18px; + padding: 3px 5px; + text-align: center; + white-space: nowrap; +} +.badge:not([data-badge])::after, +.badge[data-badge='']::after { + height: 6px; + min-width: 6px; + padding: 0; + width: 6px; +} +.badge.btn::after { + position: absolute; + top: 0; + right: 0; + transform: translate(50%, -50%); +} +.badge.avatar::after { + position: absolute; + top: 14.64%; + right: 14.64%; + transform: translate(50%, -50%); + z-index: 100; +} +.badge.avatar-xs::after { + content: ""; + height: 0.4rem; + min-width: 0.4rem; + padding: 0; + width: 0.4rem; +} +.breadcrumb { + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item { + color: #727e96; + display: inline-block; + margin: 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item:not(:last-child) { + margin-right: 0.2rem; +} +.breadcrumb .breadcrumb-item:not(:last-child) a { + color: #727e96; +} +.breadcrumb .breadcrumb-item:not(:first-child)::before { + color: #e7e9ed; + content: "/"; + padding-right: 0.2rem; +} +.bar { + background: #f0f1f4; + border-radius: 0.1rem; + display: flex; + flex-wrap: nowrap; + height: 0.8rem; + width: 100%; +} +.bar.bar-sm { + height: 0.2rem; +} +.bar .bar-item { + background: #121212; + color: #fff; + display: block; + font-size: 0.6rem; + flex-shrink: 0; + line-height: 0.8rem; + height: 100%; + position: relative; + text-align: center; + width: 0; +} +.bar .bar-item:first-child { + border-bottom-left-radius: 0.1rem; + border-top-left-radius: 0.1rem; +} +.bar .bar-item:last-child { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; + flex-shrink: 1; +} +.bar-slider { + height: 0.1rem; + margin: 0.4rem 0; + position: relative; +} +.bar-slider .bar-item { + left: 0; + padding: 0; + position: absolute; +} +.bar-slider .bar-item:not(:last-child):first-child { + background: #f0f1f4; + z-index: 1; +} +.bar-slider .bar-slider-btn { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + padding: 0; + position: absolute; + right: 0; + top: 50%; + transform: translate(50%, -50%); + width: 0.6rem; +} +.bar-slider .bar-slider-btn:active { + box-shadow: 0 0 0 0.1rem #121212; +} +.card { + background: #fff; + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.card .card-header, +.card .card-body, +.card .card-footer { + padding: 0.8rem; + padding-bottom: 0; +} +.card .card-header:last-child, +.card .card-body:last-child, +.card .card-footer:last-child { + padding-bottom: 0.8rem; +} +.card .card-image { + padding-top: 0.8rem; +} +.card .card-image:first-child { + padding-top: 0; +} +.card .card-image:first-child img { + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.card .card-image:last-child img { + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; +} +.chip { + align-items: center; + background: #f0f1f4; + border-radius: 5rem; + color: #727e96; + display: inline-flex; + height: 1.2rem; + margin: 0.1rem; + max-width: 100%; + padding: 0.1rem 0.5rem; + text-decoration: none; + vertical-align: middle; +} +.chip.active { + background: #121212; + color: #fff; +} +.chip .avatar { + margin-left: -0.5rem; + margin-right: 0.2rem; +} +.dropdown { + display: inline-block; + position: relative; +} +.dropdown .menu { + animation: slide-down 0.15s ease 1; + display: none; + left: 0; + max-height: 50vh; + overflow-y: auto; + position: absolute; + top: 100%; +} +.dropdown.dropdown-right .menu { + left: auto; + right: 0; +} +.dropdown.active .menu, +.dropdown .dropdown-toggle:focus + .menu, +.dropdown .menu:hover { + display: block; +} +.dropdown .btn-group .dropdown-toggle:nth-last-child(2) { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.menu { + background: #fff; + border-radius: 0.1rem; + list-style: none; + margin: 0; + min-width: 180px; + padding: 0.4rem; + box-shadow: 0 0.05rem 0.2rem rgba(69, 77, 93, 0.3); + transform: translateY(0.2rem); + z-index: 100; +} +.menu.menu-nav { + background: transparent; + box-shadow: none; +} +.menu .menu-item { + margin-top: 0; + padding: 0 0.4rem; + text-decoration: none; + user-select: none; +} +.menu .menu-item > a { + border-radius: 0.1rem; + color: inherit; + display: block; + margin: 0 -0.4rem; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.menu .menu-item > a:focus, +.menu .menu-item > a:hover { + background: #787878; + color: #121212; +} +.menu .menu-item > a:active, +.menu .menu-item > a.active { + background: #787878; + color: #121212; +} +.menu .menu-item + .menu-item { + margin-top: 0.2rem; +} +.menu .menu-badge { + float: right; + padding: 0.2rem 0; +} +.menu .menu-badge .btn { + margin-top: -0.1rem; +} +.modal { + align-items: center; + bottom: 0; + display: none; + justify-content: center; + left: 0; + opacity: 0; + overflow: hidden; + padding: 0.4rem; + position: fixed; + right: 0; + top: 0; +} +.modal:target, +.modal.active { + display: flex; + opacity: 1; + z-index: 400; +} +.modal:target .modal-overlay, +.modal.active .modal-overlay { + background: rgba(248, 249, 250, 0.75); + bottom: 0; + cursor: default; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.modal:target .modal-container, +.modal.active .modal-container { + animation: slide-down 0.2s ease 1; + max-width: 640px; + z-index: 1; +} +.modal.modal-sm .modal-container { + max-width: 320px; +} +.modal-container { + background: #fff; + border-radius: 0.1rem; + display: block; + padding: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); + text-align: left; +} +.modal-container .modal-header { + padding: 0.8rem; +} +.modal-container .modal-header .modal-title { + margin: 0; +} +.modal-container .modal-body { + max-height: 50vh; + overflow-y: auto; + padding: 0.8rem; + position: relative; +} +.modal-container .modal-footer { + padding: 0.8rem; + text-align: right; +} +.nav { + display: flex; + flex-direction: column; + list-style: none; + margin: 0.2rem 0; +} +.nav .nav-item a { + color: #727e96; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.nav .nav-item a:focus, +.nav .nav-item a:hover { + color: #121212; +} +.nav .nav-item.active > a { + color: #5b657a; + font-weight: bold; +} +.nav .nav-item.active > a:focus, +.nav .nav-item.active > a:hover { + color: #121212; +} +.nav .nav { + margin-bottom: 0.4rem; + margin-left: 0.8rem; +} +.pagination { + display: flex; + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.pagination .page-item { + margin: 0.2rem 0.05rem; +} +.pagination .page-item span { + display: inline-block; + padding: 0.2rem 0.2rem; +} +.pagination .page-item a { + border-radius: 0.1rem; + color: #727e96; + display: inline-block; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.pagination .page-item a:focus, +.pagination .page-item a:hover { + color: #121212; +} +.pagination .page-item.disabled a { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.pagination .page-item.active a { + background: #121212; + color: #fff; +} +.pagination .page-item.page-prev, +.pagination .page-item.page-next { + flex: 1 0 50%; +} +.pagination .page-item.page-next { + text-align: right; +} +.pagination .page-item .page-item-title { + margin: 0; +} +.pagination .page-item .page-item-subtitle { + margin: 0; + opacity: 0.5; +} +.popover { + display: inline-block; + position: relative; +} +.popover .popover-container { + content: attr(data-tooltip); + opacity: 0; + left: 50%; + padding: 0.4rem; + position: absolute; + top: 0; + transform: translate(-50%, -50%) scale(0); + transition: transform 0.2s ease; + width: 320px; + z-index: 400; +} +.popover :focus + .popover-container, +.popover:hover .popover-container, +.popover .popover-container:hover { + display: block; + opacity: 1; + transform: translate(-50%, -100%) scale(1); +} +.popover.popover-right .popover-container { + left: 100%; + top: 50%; +} +.popover.popover-right :focus + .popover-container, +.popover.popover-right:hover .popover-container, +.popover.popover-right .popover-container:hover { + transform: translate(0, -50%) scale(1); +} +.popover.popover-bottom .popover-container { + left: 50%; + top: 100%; +} +.popover.popover-bottom :focus + .popover-container, +.popover.popover-bottom:hover .popover-container, +.popover.popover-bottom .popover-container:hover { + transform: translate(-50%, 0) scale(1); +} +.popover.popover-left .popover-container { + left: 0; + top: 50%; +} +.popover.popover-left :focus + .popover-container, +.popover.popover-left:hover .popover-container, +.popover.popover-left .popover-container:hover { + transform: translate(-100%, -50%) scale(1); +} +.popover .card { + border: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); +} +.step { + display: flex; + flex-wrap: nowrap; + list-style: none; + margin: 0.2rem 0; + width: 100%; +} +.step .step-item { + flex: 1 1 0; + margin-top: 0; + min-height: 20px; + text-align: center; + position: relative; +} +.step .step-item:not(:first-child)::before { + background: #121212; + content: ""; + height: 2px; + left: -50%; + position: absolute; + top: 9px; + width: 100%; +} +.step .step-item a { + color: #acb3c2; + display: inline-block; + padding: 20px 10px 0; + text-decoration: none; +} +.step .step-item a::before { + background: #121212; + border: 0.1rem solid #fff; + border-radius: 50%; + content: ""; + display: block; + height: 0.6rem; + left: 50%; + position: absolute; + top: 0.2rem; + transform: translateX(-50%); + width: 0.6rem; + z-index: 1; +} +.step .step-item.active a::before { + background: #fff; + border: 0.1rem solid #121212; +} +.step .step-item.active ~ .step-item::before { + background: #e7e9ed; +} +.step .step-item.active ~ .step-item a::before { + background: #e7e9ed; +} +.tab { + align-items: center; + border-bottom: 0.05rem solid #e7e9ed; + display: flex; + flex-wrap: wrap; + list-style: none; + margin: 0.2rem 0 0.15rem 0; +} +.tab .tab-item { + margin-top: 0; +} +.tab .tab-item.tab-action { + flex: 1 0 auto; + text-align: right; +} +.tab .tab-item a { + border-bottom: 0.1rem solid transparent; + color: inherit; + display: block; + margin: 0 0.4rem 0 0; + padding: 0.4rem 0.2rem 0.3rem 0.2rem; + text-decoration: none; +} +.tab .tab-item a:focus, +.tab .tab-item a:hover { + color: #121212; +} +.tab .tab-item.active a, +.tab .tab-item a.active { + border-bottom-color: #121212; + color: #121212; +} +.tab.tab-block .tab-item { + flex: 1 0 0; + text-align: center; +} +.tab.tab-block .tab-item a { + margin: 0; +} +.tab.tab-block .tab-item .badge[data-badge]::after { + position: absolute; + right: -4px; + top: -4px; + transform: translate(0, 0); +} +.tab:not(.tab-block) .badge { + padding-right: 2px; +} +.tile { + align-content: space-between; + align-items: flex-start; + display: flex; +} +.tile .tile-icon, +.tile .tile-action { + flex: 0 0 auto; +} +.tile .tile-content { + flex: 1 1 auto; +} +.tile .tile-content:not(:first-child) { + padding-left: 0.4rem; +} +.tile .tile-content:not(:last-child) { + padding-right: 0.4rem; +} +.tile .tile-title, +.tile .tile-subtitle { + line-height: 1rem; +} +.tile.tile-centered { + align-items: center; +} +.tile.tile-centered .tile-content { + overflow: hidden; +} +.tile.tile-centered .tile-title, +.tile.tile-centered .tile-subtitle { + margin-bottom: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.toast { + border: 0.05rem solid #454d5d; + border-radius: 0.1rem; + color: #fff; + display: block; + padding: 0.4rem; + background: rgba(69, 77, 93, 0.9); + border-color: #454d5d; + width: 100%; +} +.toast.toast-primary { + background: rgba(18, 18, 18, 0.9); + border-color: #121212; +} +.toast.toast-success { + background: rgba(50, 182, 67, 0.9); + border-color: #32b643; +} +.toast.toast-warning { + background: rgba(255, 183, 0, 0.9); + border-color: #ffb700; +} +.toast.toast-error { + background: rgba(232, 86, 0, 0.9); + border-color: #e85600; +} +.toast a { + color: #fff; + text-decoration: underline; +} +.toast a:focus, +.toast a:hover, +.toast a:active, +.toast a.active { + opacity: 0.75; +} +.toast .btn-clear { + margin: 2px -2px 2px 4px; +} +.tooltip { + position: relative; +} +.tooltip::after { + background: rgba(69, 77, 93, 0.9); + border-radius: 0.1rem; + bottom: 100%; + color: #fff; + content: attr(data-tooltip); + display: block; + font-size: 0.6rem; + left: 50%; + max-width: 320px; + opacity: 0; + overflow: hidden; + padding: 0.2rem 0.4rem; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + transform: translate(-50%, 0.4rem); + transition: all 0.2s ease; + white-space: nowrap; + z-index: 300; +} +.tooltip:focus::after, +.tooltip:hover::after { + opacity: 1; + transform: translate(-50%, -0.2rem); +} +.tooltip[disabled], +.tooltip.disabled { + pointer-events: auto; +} +.tooltip.tooltip-right::after { + bottom: 50%; + left: 100%; + transform: translate(-0.2rem, 50%); +} +.tooltip.tooltip-right:focus::after, +.tooltip.tooltip-right:hover::after { + transform: translate(0.2rem, 50%); +} +.tooltip.tooltip-bottom::after { + bottom: auto; + top: 100%; + transform: translate(-50%, -0.4rem); +} +.tooltip.tooltip-bottom:focus::after, +.tooltip.tooltip-bottom:hover::after { + transform: translate(-50%, 0.2rem); +} +.tooltip.tooltip-left::after { + bottom: 50%; + left: auto; + right: 100%; + transform: translate(0.4rem, 50%); +} +.tooltip.tooltip-left:focus::after, +.tooltip.tooltip-left:hover::after { + transform: translate(-0.2rem, 50%); +} +@keyframes loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes slide-down { + 0% { + opacity: 0; + transform: translateY(-1.6rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.text-primary { + color: #121212; +} +a.text-primary:focus, +a.text-primary:hover { + color: #050505; +} +.text-secondary { + color: #707070; +} +a.text-secondary:focus, +a.text-secondary:hover { + color: #646464; +} +.text-gray { + color: #acb3c2; +} +a.text-gray:focus, +a.text-gray:hover { + color: #9ea6b7; +} +.text-light { + color: #fff; +} +a.text-light:focus, +a.text-light:hover { + color: #f2f2f2; +} +.text-success { + color: #32b643; +} +a.text-success:focus, +a.text-success:hover { + color: #2da23c; +} +.text-warning { + color: #ffb700; +} +a.text-warning:focus, +a.text-warning:hover { + color: #e6a500; +} +.text-error { + color: #e85600; +} +a.text-error:focus, +a.text-error:hover { + color: #cf4d00; +} +.bg-primary { + background: #121212; +} +.bg-secondary { + background: #787878; +} +.bg-dark { + background: #454d5d; +} +.bg-gray { + background: #f8f9fa; +} +.bg-success { + background: #32b643; +} +.bg-warning { + background: #ffb700; +} +.bg-error { + background: #e85600; +} +.d-block { + display: block; +} +.d-inline { + display: inline; +} +.d-inline-block { + display: inline-block; +} +.d-flex { + display: flex; +} +.d-inline-flex { + display: inline-flex; +} +.d-none, +.hide { + display: none !important; +} +.d-visible { + visibility: visible; +} +.d-invisible { + visibility: hidden; +} +.text-hide { + background: transparent; + border: 0; + color: transparent; + font-size: 0; + line-height: 0; + text-shadow: none; +} +.text-assistive { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.hand { + cursor: pointer; +} +.divider, +.divider-vert { + display: block; + position: relative; +} +.divider[data-content]::after, +.divider-vert[data-content]::after { + background: #fff; + color: #acb3c2; + content: attr(data-content); + display: inline-block; + font-size: 0.6rem; + padding: 0 0.4rem; + transform: translateY(-0.55rem); +} +.divider { + border-top: 0.05rem solid #e7e9ed; + height: 0.05rem; + margin: 0.4rem 0; +} +.divider[data-content] { + margin: 0.8rem 0; +} +.divider-vert { + display: block; + padding: 0.8rem; +} +.divider-vert::before { + border-left: 0.05rem solid #e7e9ed; + bottom: 0.4rem; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 0.4rem; + transform: translateX(-50%); +} +.divider-vert[data-content]::after { + left: 50%; + padding: 0.2rem 0; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.loading { + color: transparent !important; + min-height: 0.8rem; + pointer-events: none; + position: relative; +} +.loading::after { + animation: loading 500ms infinite linear; + border: 0.1rem solid #121212; + border-radius: 50%; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 0.8rem; + left: 50%; + margin-left: -0.4rem; + margin-top: -0.4rem; + position: absolute; + top: 50%; + width: 0.8rem; + z-index: 1; +} +.loading.loading-lg { + min-height: 2rem; +} +.loading.loading-lg::after { + height: 1.6rem; + width: 1.6rem; + margin-left: -0.8rem; + margin-top: -0.8rem; +} +.clearfix::after, +.container::after { + clear: both; + content: ""; + display: table; +} +.float-left { + float: left !important; +} +.float-right { + float: right !important; +} +.relative { + position: relative; +} +.absolute { + position: absolute; +} +.fixed { + position: fixed; +} +.centered { + display: block; + float: none; + margin-left: auto; + margin-right: auto; +} +.m-0 { + margin: 0; +} +.mb-0 { + margin-bottom: 0; +} +.ml-0 { + margin-left: 0; +} +.mr-0 { + margin-right: 0; +} +.mt-0 { + margin-top: 0; +} +.mx-0 { + margin-left: 0; + margin-right: 0; +} +.my-0 { + margin-bottom: 0; + margin-top: 0; +} +.m-1 { + margin: 0.2rem; +} +.mb-1 { + margin-bottom: 0.2rem; +} +.ml-1 { + margin-left: 0.2rem; +} +.mr-1 { + margin-right: 0.2rem; +} +.mt-1 { + margin-top: 0.2rem; +} +.mx-1 { + margin-left: 0.2rem; + margin-right: 0.2rem; +} +.my-1 { + margin-bottom: 0.2rem; + margin-top: 0.2rem; +} +.m-2 { + margin: 0.4rem; +} +.mb-2 { + margin-bottom: 0.4rem; +} +.ml-2 { + margin-left: 0.4rem; +} +.mr-2 { + margin-right: 0.4rem; +} +.mt-2 { + margin-top: 0.4rem; +} +.mx-2 { + margin-left: 0.4rem; + margin-right: 0.4rem; +} +.my-2 { + margin-bottom: 0.4rem; + margin-top: 0.4rem; +} +.p-0 { + padding: 0; +} +.pb-0 { + padding-bottom: 0; +} +.pl-0 { + padding-left: 0; +} +.pr-0 { + padding-right: 0; +} +.pt-0 { + padding-top: 0; +} +.px-0 { + padding-left: 0; + padding-right: 0; +} +.py-0 { + padding-bottom: 0; + padding-top: 0; +} +.p-1 { + padding: 0.2rem; +} +.pb-1 { + padding-bottom: 0.2rem; +} +.pl-1 { + padding-left: 0.2rem; +} +.pr-1 { + padding-right: 0.2rem; +} +.pt-1 { + padding-top: 0.2rem; +} +.px-1 { + padding-left: 0.2rem; + padding-right: 0.2rem; +} +.py-1 { + padding-bottom: 0.2rem; + padding-top: 0.2rem; +} +.p-2 { + padding: 0.4rem; +} +.pb-2 { + padding-bottom: 0.4rem; +} +.pl-2 { + padding-left: 0.4rem; +} +.pr-2 { + padding-right: 0.4rem; +} +.pt-2 { + padding-top: 0.4rem; +} +.px-2 { + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.py-2 { + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} +.rounded { + border-radius: 0.1rem; +} +.circle { + border-radius: 50%; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-normal { + font-weight: normal; +} +.text-bold { + font-weight: bold; +} +.text-italic { + font-style: italic; +} +.text-large { + font-size: 1.2em; +} +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.text-clip { + overflow: hidden; + text-overflow: clip; + white-space: nowrap; +} +.text-break { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; +} +/*! Spectre.css Experimentals | MIT License | github.com/picturepan2/spectre */ +.calendar { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: block; + min-width: 280px; + text-align: center; +} +.calendar .calendar-nav { + align-items: center; + background: #f8f9fa; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + display: flex; + font-size: 0.8rem; + padding: 0.4rem; +} +.calendar .calendar-header, +.calendar .calendar-body { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: 0.4rem 0; +} +.calendar .calendar-header .calendar-date, +.calendar .calendar-body .calendar-date { + flex: 0 0 14.28%; + max-width: 14.28%; +} +.calendar .calendar-header { + background: #f8f9fa; + border-bottom: 0.05rem solid #e7e9ed; + color: #acb3c2; + font-size: 0.6rem; +} +.calendar .calendar-body { + color: #727e96; +} +.calendar .calendar-date { + border: 0; + padding: 0.2rem; +} +.calendar .calendar-date .date-item { + appearance: none; + background: transparent; + border: 0.05rem solid transparent; + border-radius: 50%; + color: #727e96; + transition: all 0.2s ease; + cursor: pointer; + height: 1.4rem; + line-height: 1rem; + outline: none; + padding: 0.1rem; + position: relative; + text-align: center; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + width: 1.4rem; +} +.calendar .calendar-date .date-item.date-today { + border-color: #707070; + color: #121212; +} +.calendar .calendar-date .date-item:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.calendar .calendar-date .date-item:focus, +.calendar .calendar-date .date-item:hover { + background: #808080; + border-color: #707070; + color: #121212; + text-decoration: none; +} +.calendar .calendar-date .date-item:active, +.calendar .calendar-date .date-item.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; +} +.calendar .calendar-date .date-item.badge::after { + position: absolute; + top: 3px; + right: 3px; + transform: translate(50%, -50%); +} +.calendar .calendar-date.disabled .date-item, +.calendar .calendar-date.disabled .calendar-event, +.calendar .calendar-date .date-item:disabled, +.calendar .calendar-date .calendar-event:disabled { + cursor: default; + opacity: 0.25; + pointer-events: none; +} +.calendar .calendar-range { + position: relative; +} +.calendar .calendar-range::before { + background: #787878; + content: ""; + height: 1.4rem; + left: 0; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.calendar .calendar-range.range-start::before { + left: 50%; +} +.calendar .calendar-range.range-end::before { + right: 50%; +} +.calendar .calendar-range .date-item { + color: #121212; +} +.calendar.calendar-lg .calendar-body { + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date { + border-bottom: 0.05rem solid #e7e9ed; + border-right: 0.05rem solid #e7e9ed; + display: flex; + flex-direction: column; + height: 5.5rem; + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) { + border-right: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) { + border-bottom: 0; +} +.calendar.calendar-lg .date-item { + align-self: flex-end; + height: 1.4rem; + margin-right: 0.2rem; + margin-top: 0.2rem; +} +.calendar.calendar-lg .calendar-range::before { + top: 19px; +} +.calendar.calendar-lg .calendar-range.range-start::before { + left: auto; + width: 19px; +} +.calendar.calendar-lg .calendar-range.range-end::before { + right: 19px; +} +.calendar.calendar-lg .calendar-events { + flex-grow: 1; + line-height: 1; + overflow-y: auto; + padding: 0.2rem; +} +.calendar.calendar-lg .calendar-event { + background: #787878; + border-radius: 0.1rem; + color: #121212; + font-size: 0.6rem; + display: block; + margin: 0.1rem auto; + overflow: hidden; + padding: 3px 4px; + text-align: left; + text-overflow: ellipsis; + vertical-align: baseline; + white-space: nowrap; +} +.carousel { + background: #f8f9fa; + display: block; + overflow: hidden; + position: relative; + width: 100%; +} +.carousel .carousel-container { + height: 100%; + left: 0; + position: relative; +} +.carousel .carousel-container::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.carousel .carousel-container .carousel-item { + animation: carousel-slideout 1s ease-in-out 1; + height: 100%; + left: 0; + margin: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; +} +.carousel .carousel-container .carousel-item:hover .item-prev, +.carousel .carousel-container .carousel-item:hover .item-next { + opacity: 1; +} +.carousel .carousel-container .item-prev, +.carousel .carousel-container .item-next { + background: rgba(231, 233, 237, 0.25); + border-color: rgba(231, 233, 237, 0.5); + color: #e7e9ed; + opacity: 0; + position: absolute; + top: 50%; + transition: all 0.4s ease; + transform: translateY(-50%); + z-index: 200; +} +.carousel .carousel-container .item-prev { + left: 1rem; +} +.carousel .carousel-container .item-next { + right: 1rem; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) { + animation: carousel-slidein 0.75s ease-in-out 1; + opacity: 1; + z-index: 100; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) { + color: #e7e9ed; +} +.carousel .carousel-nav { + bottom: 0.4rem; + display: flex; + justify-content: center; + left: 50%; + position: absolute; + transform: translateX(-50%); + width: 10rem; + z-index: 200; +} +.carousel .carousel-nav .nav-item { + color: rgba(231, 233, 237, 0.5); + display: block; + flex: 1 0 auto; + height: 1.6rem; + margin: 0.2rem; + max-width: 2.5rem; + position: relative; +} +.carousel .carousel-nav .nav-item::before { + background: currentColor; + content: ""; + display: block; + height: 0.1rem; + position: absolute; + top: 0.5rem; + width: 100%; +} +@keyframes carousel-slidein { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +@keyframes carousel-slideout { + 0% { + opacity: 1; + transform: translateX(0); + } + 100% { + opacity: 1; + transform: translateX(-50%); + } +} +.comparison-slider { + height: 50vh; + overflow: hidden; + position: relative; + width: 100%; +} +.comparison-slider .comparison-before, +.comparison-slider .comparison-after { + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; +} +.comparison-slider .comparison-before img, +.comparison-slider .comparison-after img { + height: 100%; + object-fit: none; + object-position: left center; + position: absolute; + width: 100%; +} +.comparison-slider .comparison-before { + width: 100%; + z-index: 1; +} +.comparison-slider .comparison-before .comparison-label { + right: 0.8rem; +} +.comparison-slider .comparison-after { + max-width: 100%; + min-width: 0; + z-index: 2; +} +.comparison-slider .comparison-after::before { + background: transparent; + content: ""; + cursor: default; + height: 100%; + left: 0; + position: absolute; + right: 0.8rem; + top: 0; + z-index: 1; +} +.comparison-slider .comparison-after::after { + background: currentColor; + border-radius: 50%; + box-shadow: 0 -5px, 0 5px; + color: #fff; + content: ""; + height: 3px; + position: absolute; + right: 0.4rem; + top: 50%; + transform: translate(50%, -50%); + width: 3px; +} +.comparison-slider .comparison-after .comparison-label { + left: 0.8rem; +} +.comparison-slider .comparison-resizer { + animation: first-run 1.5s 1 ease-in-out; + cursor: ew-resize; + height: 0.8rem; + left: 0; + max-width: 100%; + min-width: 0.8rem; + opacity: 0; + outline: none; + position: relative; + resize: horizontal; + top: 50%; + transform: translateY(-50%) scaleY(30); + width: 0; +} +.comparison-slider .comparison-label { + background: rgba(69, 77, 93, 0.5); + bottom: 0.8rem; + color: #fff; + padding: 0.2rem 0.4rem; + position: absolute; + user-select: none; +} +@keyframes first-run { + 0% { + width: 0; + } + 25% { + width: 2.4rem; + } + 50% { + width: 0.8rem; + } + 75% { + width: 1.2rem; + } + 100% { + width: 0; + } +} +.filter .filter-nav { + margin: 0.4rem 0; +} +.filter .filter-body { + display: flex; + flex-wrap: wrap; +} +.filter .filter-tag#tag-all:checked ~ .filter-nav .chip[for="tag-all"], +.filter .filter-tag#tag-action:checked ~ .filter-nav .chip[for="tag-action"], +.filter .filter-tag#tag-roleplaying:checked ~ .filter-nav .chip[for="tag-roleplaying"], +.filter .filter-tag#tag-shooter:checked ~ .filter-nav .chip[for="tag-shooter"], +.filter .filter-tag#tag-sports:checked ~ .filter-nav .chip[for="tag-sports"] { + background: #121212; + color: #fff; +} +.filter .filter-tag#tag-action:checked ~ .filter-body .column:not([data-tag~="tag-action"]), +.filter .filter-tag#tag-roleplaying:checked ~ .filter-body .column:not([data-tag~="tag-roleplaying"]), +.filter .filter-tag#tag-shooter:checked ~ .filter-body .column:not([data-tag~="tag-shooter"]), +.filter .filter-tag#tag-sports:checked ~ .filter-body .column:not([data-tag~="tag-sports"]) { + display: none; +} +.meter { + appearance: none; + background: #f8f9fa; + border: 0; + border-radius: 0.1rem; + display: block; + width: 100%; + height: 0.8rem; +} +.meter::-webkit-meter-inner-element { + display: block; +} +.meter::-webkit-meter-bar, +.meter::-webkit-meter-optimum-value, +.meter::-webkit-meter-suboptimum-value, +.meter::-webkit-meter-even-less-good-value { + border-radius: 0.1rem; +} +.meter::-webkit-meter-bar { + background: #f8f9fa; +} +.meter::-webkit-meter-optimum-value { + background: #32b643; +} +.meter::-webkit-meter-suboptimum-value { + background: #ffb700; +} +.meter::-webkit-meter-even-less-good-value { + background: #e85600; +} +.meter::-moz-meter-bar, +.meter:-moz-meter-optimum, +.meter:-moz-meter-sub-optimum, +.meter:-moz-meter-sub-sub-optimum { + border-radius: 0.1rem; +} +.meter:-moz-meter-optimum::-moz-meter-bar { + background: #32b643; +} +.meter:-moz-meter-sub-optimum::-moz-meter-bar { + background: #ffb700; +} +.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { + background: #e85600; +} +.parallax { + display: block; + height: auto; + position: relative; + width: auto; +} +.parallax .parallax-content { + height: auto; + box-shadow: 0 1rem 2.1rem rgba(69, 77, 93, 0.3); + transform: perspective(1000px); + transform-style: preserve-3d; + transition: all 0.4s ease; + width: 100%; +} +.parallax .parallax-content::before { + content: ""; + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.parallax .parallax-front { + align-items: center; + color: #fff; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + text-shadow: 0 0 20px rgba(69, 77, 93, 0.5); + top: 0; + transform: translateZ(100px) scale(0.9); + transition: all 0.4s ease; + width: 100%; + z-index: 1; +} +.parallax .parallax-top-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + left: 0; + top: 0; +} +.parallax .parallax-top-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(3deg); +} +.parallax .parallax-top-left:hover ~ .parallax-content::before { + background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-top-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + right: 0; + top: 0; +} +.parallax .parallax-top-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg); +} +.parallax .parallax-top-right:hover ~ .parallax-content::before { + background: linear-gradient(-135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + left: 0; +} +.parallax .parallax-bottom-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(3deg); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content::before { + background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, 6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + right: 0; +} +.parallax .parallax-bottom-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(-3deg); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content::before { + background: linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, 6.5px, 100px) scale(0.9); +} +.progress { + appearance: none; + background: #f0f1f4; + border: 0; + border-radius: 0.1rem; + color: #121212; + height: 0.2rem; + position: relative; + width: 100%; +} +.progress::-webkit-progress-bar { + background: transparent; + border-radius: 0.1rem; +} +.progress::-webkit-progress-value { + background: #121212; + border-radius: 0.1rem; +} +.progress::-moz-progress-bar { + background: #121212; + border-radius: 0.1rem; +} +.progress:indeterminate { + animation: progress-indeterminate 1.5s linear infinite; + background: #f0f1f4 linear-gradient(to right, #121212 30%, #f0f1f4 30%) top left / 150% 150% no-repeat; +} +.progress:indeterminate::-moz-progress-bar { + background: transparent; +} +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} +.slider { + appearance: none; + background: transparent; + display: block; + width: 100%; + height: 1.2rem; +} +.slider:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); + outline: none; +} +.slider::-webkit-slider-thumb { + -webkit-appearance: none; + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + margin-top: -0.25rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-moz-range-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-ms-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider:active::-webkit-slider-thumb { + transform: scale(1.25); +} +.slider:active::-moz-range-thumb { + transform: scale(1.25); +} +.slider:active::-ms-thumb { + transform: scale(1.25); +} +.slider:disabled::-webkit-slider-thumb, +.slider.disabled::-webkit-slider-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-moz-range-thumb, +.slider.disabled::-moz-range-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-ms-thumb, +.slider.disabled::-ms-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider::-webkit-slider-runnable-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-moz-range-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-fill-lower { + background: #121212; +} +.timeline .timeline-item { + display: flex; + margin-bottom: 1.2rem; + position: relative; +} +.timeline .timeline-item::before { + background: #e7e9ed; + content: ""; + height: 100%; + left: 11px; + position: absolute; + top: 1.2rem; + width: 2px; +} +.timeline .timeline-item .timeline-left { + flex: 0 0 auto; +} +.timeline .timeline-item .timeline-content { + flex: 1 1 auto; + padding: 2px 0 2px 0.8rem; +} +.timeline .timeline-item .timeline-icon { + border-radius: 50%; + color: #fff; + display: block; + height: 1.2rem; + text-align: center; + width: 1.2rem; +} +.timeline .timeline-item .timeline-icon::before { + border: 0.1rem solid #121212; + border-radius: 50%; + content: ""; + display: block; + height: 0.4rem; + left: 0.4rem; + position: absolute; + top: 0.4rem; + width: 0.4rem; +} +.timeline .timeline-item .timeline-icon.icon-lg { + background: #121212; + font-size: 0.8rem; + line-height: 1rem; +} +.timeline .timeline-item .timeline-icon.icon-lg::before { + content: none; +} +/*! Spectre.css Icons | MIT License | github.com/picturepan2/spectre */ +.icon { + box-sizing: border-box; + display: inline-block; + font-size: inherit; + font-style: normal; + height: 1em; + position: relative; + text-indent: -9999px; + vertical-align: middle; + width: 1em; +} +.icon::before, +.icon::after { + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.icon-arrow-down::before, +.icon-arrow-left::before, +.icon-arrow-right::before, +.icon-arrow-up::before, +.icon-downward::before, +.icon-back::before, +.icon-forward::before, +.icon-upward::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.65em; + width: 0.65em; +} +.icon-arrow-down::before { + transform: translate(-50%, -75%) rotate(225deg); +} +.icon-arrow-left::before { + transform: translate(-25%, -50%) rotate(-45deg); +} +.icon-arrow-right::before { + transform: translate(-75%, -50%) rotate(135deg); +} +.icon-arrow-up::before { + transform: translate(-50%, -25%) rotate(45deg); +} +.icon-back::after, +.icon-forward::after { + background: currentColor; + content: ""; + height: 0.1rem; + width: 0.8em; +} +.icon-downward::after, +.icon-upward::after { + background: currentColor; + content: ""; + height: 0.8em; + width: 0.1rem; +} +.icon-back::after { + left: 55%; +} +.icon-back::before { + transform: translate(-50%, -50%) rotate(-45deg); +} +.icon-downward::after { + top: 45%; +} +.icon-downward::before { + transform: translate(-50%, -50%) rotate(-135deg); +} +.icon-forward::after { + left: 45%; +} +.icon-forward::before { + transform: translate(-50%, -50%) rotate(135deg); +} +.icon-upward::after { + top: 55%; +} +.icon-upward::before { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-caret::before { + border-top: 0.3em solid currentColor; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; + content: ""; + height: 0; + width: 0; + transform: translate(-50%, -25%); +} +.icon-menu::before { + background: currentColor; + box-shadow: 0 -0.35em, 0 0.35em; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-apps::before { + background: currentColor; + box-shadow: -0.35em -0.35em, -0.35em 0, -0.35em 0.35em, 0 -0.35em, 0 0.35em, 0.35em -0.35em, 0.35em 0, 0.35em 0.35em; + content: ""; + height: 3px; + width: 3px; +} +.icon-resize-horiz::before, +.icon-resize-vert::before, +.icon-resize-horiz::after, +.icon-resize-vert::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.45em; + width: 0.45em; +} +.icon-resize-horiz::before, +.icon-resize-vert::before { + transform: translate(-50%, -90%) rotate(45deg); +} +.icon-resize-horiz::after, +.icon-resize-vert::after { + transform: translate(-50%, -10%) rotate(225deg); +} +.icon-resize-horiz::before { + transform: translate(-90%, -50%) rotate(-45deg); +} +.icon-resize-horiz::after { + transform: translate(-10%, -50%) rotate(135deg); +} +.icon-more-horiz::before, +.icon-more-vert::before { + background: currentColor; + box-shadow: -0.4em 0, 0.4em 0; + border-radius: 50%; + content: ""; + height: 3px; + width: 3px; +} +.icon-more-vert::before { + box-shadow: 0 -0.4em, 0 0.4em; +} +.icon-plus::before, +.icon-minus::before, +.icon-cross::before { + background: currentColor; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-plus::after, +.icon-cross::after { + background: currentColor; + content: ""; + height: 100%; + width: 0.1rem; +} +.icon-cross::before { + width: 100%; +} +.icon-cross::after { + height: 100%; +} +.icon-cross::before, +.icon-cross::after { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-check::before { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + width: 0.9em; + transform: translate(-50%, -75%) rotate(-45deg); +} +.icon-stop { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-stop::before { + background: currentColor; + content: ""; + height: 0.1rem; + transform: translate(-50%, -50%) rotate(45deg); + width: 1em; +} +.icon-shutdown { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-top-color: transparent; +} +.icon-shutdown::before { + background: currentColor; + content: ""; + height: 0.5em; + top: 0.1em; + width: 0.1rem; +} +.icon-refresh::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 1em; + width: 1em; +} +.icon-refresh::after { + border: 0.2em solid currentColor; + border-top-color: transparent; + border-left-color: transparent; + content: ""; + height: 0; + left: 80%; + top: 20%; + width: 0; +} +.icon-search::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.75em; + left: 5%; + top: 5%; + transform: translate(0, 0) rotate(45deg); + width: 0.75em; +} +.icon-search::after { + background: currentColor; + content: ""; + height: 0.1rem; + left: 80%; + top: 80%; + transform: translate(-50%, -50%) rotate(45deg); + width: 0.4em; +} +.icon-edit::before { + border: 0.1rem solid currentColor; + content: ""; + height: 0.4em; + transform: translate(-40%, -60%) rotate(-45deg); + width: 0.85em; +} +.icon-edit::after { + border: 0.15em solid currentColor; + border-top-color: transparent; + border-right-color: transparent; + content: ""; + height: 0; + left: 5%; + top: 95%; + transform: translate(0, -100%); + width: 0; +} +.icon-delete::before { + border: 0.1rem solid currentColor; + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.75em; + top: 60%; + width: 0.75em; +} +.icon-delete::after { + background: currentColor; + box-shadow: -0.25em 0.2em, 0.25em 0.2em; + content: ""; + height: 0.1rem; + top: 0.05rem; + width: 0.5em; +} +.icon-share { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + border-right: 0; + border-top: 0; +} +.icon-share::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-top: 0; + content: ""; + height: 0.4em; + left: 100%; + top: 0.25em; + transform: translate(-125%, -50%) rotate(-45deg); + width: 0.4em; +} +.icon-share::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + border-radius: 75% 0; + content: ""; + height: 0.5em; + width: 0.6em; +} +.icon-flag::before { + background: currentColor; + content: ""; + height: 1em; + left: 15%; + width: 0.1rem; +} +.icon-flag::after { + border: 0.1rem solid currentColor; + border-bottom-right-radius: 0.1rem; + border-left: 0; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.65em; + top: 35%; + left: 60%; + width: 0.8em; +} +.icon-bookmark::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.9em; + width: 0.8em; +} +.icon-bookmark::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + border-radius: 0.1rem; + content: ""; + height: 0.5em; + transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); + width: 0.5em; +} +.icon-download, +.icon-upload { + border-bottom: 0.1rem solid currentColor; +} +.icon-download::before, +.icon-upload::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.5em; + transform: translate(-50%, -60%) rotate(-135deg); +} +.icon-download::after, +.icon-upload::after { + background: currentColor; + content: ""; + height: 0.6em; + top: 40%; + width: 0.1rem; +} +.icon-upload::before { + transform: translate(-50%, -60%) rotate(45deg); +} +.icon-upload::after { + top: 50%; +} +.icon-time { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-time::before { + background: currentColor; + content: ""; + height: 0.4em; + transform: translate(-50%, -75%); + width: 0.1rem; +} +.icon-time::after { + background: currentColor; + content: ""; + height: 0.3em; + transform: translate(-50%, -75%) rotate(90deg); + transform-origin: 50% 90%; + width: 0.1rem; +} +.icon-mail::before { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.8em; + width: 1em; +} +.icon-mail::after { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); + width: 0.5em; +} +.icon-people::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.45em; + top: 25%; + width: 0.45em; +} +.icon-people::after { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 0 0; + content: ""; + height: 0.4em; + top: 75%; + width: 0.9em; +} +.icon-message { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-radius: 0.1rem; + border-right: 0; +} +.icon-message::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.8em; + left: 65%; + top: 40%; + width: 0.7em; +} +.icon-message::after { + background: currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.3em; + left: 10%; + top: 100%; + transform: translate(0, -90%) rotate(45deg); + width: 0.1rem; +} +.icon-photo { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; +} +.icon-photo::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.25em; + left: 35%; + top: 35%; + width: 0.25em; +} +.icon-photo::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + content: ""; + height: 0.5em; + left: 60%; + transform: translate(-50%, 25%) rotate(-45deg); + width: 0.5em; +} +.icon-link::before, +.icon-link::after { + border: 0.1rem solid currentColor; + border-radius: 5em 0 0 5em; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.75em; +} +.icon-link::before { + transform: translate(-70%, -45%) rotate(-45deg); +} +.icon-link::after { + transform: translate(-30%, -55%) rotate(135deg); +} +.icon-location::before { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 50% 0; + content: ""; + height: 0.8em; + transform: translate(-50%, -60%) rotate(-45deg); + width: 0.8em; +} +.icon-location::after { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.2em; + transform: translate(-50%, -80%); + width: 0.2em; +} +.icon-emoji { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-emoji::before { + border-radius: 50%; + box-shadow: -0.17em -0.15em, 0.17em -0.15em; + content: ""; + height: 0.1em; + width: 0.1em; +} +.icon-emoji::after { + border: 0.1rem solid currentColor; + border-bottom-color: transparent; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 0.5em; + transform: translate(-50%, -40%) rotate(-135deg); + width: 0.5em; +} +.accordion .icon, +.btn .icon, +.toast .icon, +.menu .icon { + vertical-align: -10%; +} +@font-face { + font-family: backset; + src: url(d56def2696eccccc8cc0.woff); +} +* { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; +} +.container { + width: 1120px; + margin: 0 auto; +} +a:hover { + text-decoration: none; +} +a:focus { + text-decoration: none; + box-shadow: none; +} +.navbar { + height: 2.4rem; +} +.navbar .navbar-section a { + display: flex; + align-items: center; +} +.navbar .navbar-section a img { + width: 1.2rem; +} +.navbar .navbar-section a span { + font-family: backset; + font-size: 1.2em; + padding-left: 0.5em; + color: #121212; +} + diff --git a/apps/server/public/notFound.js b/apps/server/public/notFound.js new file mode 100644 index 0000000..b26c739 --- /dev/null +++ b/apps/server/public/notFound.js @@ -0,0 +1,79 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./src/view/page/notFound/index.less": +/*!*******************************************!*\ + !*** ./src/view/page/notFound/index.less ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/notFound/index.less?"); + +/***/ }), + +/***/ "./src/view/page/notFound/index.ts": +/*!*****************************************!*\ + !*** ./src/view/page/notFound/index.ts ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__webpack_require__(/*! ./index.less */ \"./src/view/page/notFound/index.less\");\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/notFound/index.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./src/view/page/notFound/index.ts"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/apps/server/public/signup.css b/apps/server/public/signup.css new file mode 100644 index 0000000..1bc3c22 --- /dev/null +++ b/apps/server/public/signup.css @@ -0,0 +1,4309 @@ +/*!****************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ../../node_modules/.pnpm/css-loader@6.7.3_webpack@5.75.0/node_modules/css-loader/dist/cjs.js!../../node_modules/.pnpm/less-loader@4.1.0_less@3.8.0+webpack@5.75.0/node_modules/less-loader/dist/cjs.js!./src/view/page/signup/index.less ***! + \****************************************************************************************************************************************************************************************************************************************************/ +/*! Spectre.css | MIT License | github.com/picturepan2/spectre */ +/* Manually forked from Normalize.css */ +/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +/* Document + ========================================================================== */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 3 */ + -webkit-text-size-adjust: 100%; + /* 3 */ +} +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +body { + margin: 0; +} +/** + * Add the correct display in IE 9-. + */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ +figcaption, +figure, +main { + /* 1 */ + display: block; +} +/** + * Add the correct margin in IE 8 (removed). + */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. (removed) + * 2. Correct the odd `em` font sizing in all browsers. + */ +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ +a:active, +a:hover { + outline-width: 0; +} +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) + */ +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +b, +strong { + font-weight: inherit; +} +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace; + /* 1 (changed) */ + font-size: 1em; + /* 2 */ +} +/** + * Add the correct font style in Android 4.3-. + */ +dfn { + font-style: italic; +} +/** + * Add the correct background and color in IE 9-. (Removed) + */ +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; + font-weight: 400; + /* (added) */ +} +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +audio, +video { + display: inline-block; +} +/** + * Add the correct display in iOS 4-7. + */ +audio:not([controls]) { + display: none; + height: 0; +} +/** + * Remove the border on images inside links in IE 10-. + */ +img { + border-style: none; +} +/** + * Hide the overflow in IE. + */ +svg:not(:root) { + overflow: hidden; +} +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 (changed) */ + font-size: inherit; + /* 1 (changed) */ + line-height: inherit; + /* 1 (changed) */ + margin: 0; + /* 2 */ +} +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +/** + * Restore the focus styles unset by the previous rule (removed). + */ +/** + * Change the border, margin, and padding in all browsers (opinionated) (changed). + */ +fieldset { + border: 0; + margin: 0; + padding: 0; +} +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} +/** + * Remove the default vertical scrollbar in IE. + */ +textarea { + overflow: auto; +} +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} +/* Interactive + ========================================================================== */ +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ +details, +menu { + display: block; +} +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +canvas { + display: inline-block; +} +/** + * Add the correct display in IE. + */ +template { + display: none; +} +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +[hidden] { + display: none; +} +*, +*::before, +*::after { + box-sizing: inherit; +} +html { + box-sizing: border-box; + font-size: 20px; + line-height: 1.42857143; + -webkit-tap-highlight-color: transparent; +} +body { + background: #fff; + color: #50596c; + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; + font-size: 0.7rem; + overflow-x: hidden; + text-rendering: optimizeLegibility; +} +a { + color: #121212; + outline: none; + text-decoration: none; +} +a:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +a:focus, +a:hover, +a:active, +a.active { + color: #050505; + text-decoration: underline; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: inherit; + font-weight: 500; + line-height: 1.2; + margin-bottom: 0.25em; + margin-top: 0; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-weight: 500; +} +h1, +.h1 { + font-size: 2rem; +} +h2, +.h2 { + font-size: 1.6rem; +} +h3, +.h3 { + font-size: 1.4rem; +} +h4, +.h4 { + font-size: 1.2rem; +} +h5, +.h5 { + font-size: 1rem; +} +h6, +.h6 { + font-size: 0.8rem; +} +p { + line-height: 1.2rem; + margin: 0 0 0.8rem; +} +a, +ins, +u { + text-decoration-skip: ink edges; +} +abbr[title] { + border-bottom: 0.05rem dotted; + cursor: help; + text-decoration: none; +} +kbd { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #454d5d; + color: #fff; +} +mark { + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #ffe9b3; + color: #50596c; +} +blockquote { + border-left: 0.1rem solid #e7e9ed; + margin-left: 0; + padding: 0.4rem 0.8rem; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol { + margin: 0.8rem 0 0.8rem 0.8rem; + padding: 0; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin: 0.8rem 0 0.8rem 0.8rem; +} +ul li, +ol li { + margin-top: 0.4rem; +} +ul { + list-style: disc inside; +} +ul ul { + list-style-type: circle; +} +ol { + list-style: decimal inside; +} +ol ol { + list-style-type: lower-alpha; +} +dl dt { + font-weight: bold; +} +dl dd { + margin: 0.4rem 0 0.8rem 0; +} +:lang(zh) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif; +} +:lang(ja) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif; +} +:lang(ko) { + font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif; +} +:lang(zh) ins, +:lang(ja) ins, +.cjk ins, +:lang(zh) u, +:lang(ja) u, +.cjk u { + border-bottom: 0.05rem solid; + text-decoration: none; +} +:lang(zh) del + del, +:lang(ja) del + del, +.cjk del + del, +:lang(zh) del + s, +:lang(ja) del + s, +.cjk del + s, +:lang(zh) ins + ins, +:lang(ja) ins + ins, +.cjk ins + ins, +:lang(zh) ins + u, +:lang(ja) ins + u, +.cjk ins + u, +:lang(zh) s + del, +:lang(ja) s + del, +.cjk s + del, +:lang(zh) s + s, +:lang(ja) s + s, +.cjk s + s, +:lang(zh) u + ins, +:lang(ja) u + ins, +.cjk u + ins, +:lang(zh) u + u, +:lang(ja) u + u, +.cjk u + u { + margin-left: 0.125em; +} +.table { + border-collapse: collapse; + border-spacing: 0; + text-align: left; + width: 100%; +} +.table.table-striped tbody tr:nth-of-type(odd) { + background: #f8f9fa; +} +.table.table-hover tbody tr:hover { + background: #f0f1f4; +} +.table tbody tr.active, +.table.table-striped tbody tr.active { + background: #f0f1f4; +} +.table td, +.table th { + border-bottom: 0.05rem solid #e7e9ed; + padding: 0.6rem 0.4rem; +} +.table th { + border-bottom-width: 0.1rem; +} +.btn { + appearance: none; + background: #fff; + border: 0.05rem solid #121212; + border-radius: 0.1rem; + color: #121212; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + text-align: center; + text-decoration: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.btn:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.btn:focus, +.btn:hover { + background: #787878; + border-color: #0a0a0a; + text-decoration: none; +} +.btn:active, +.btn.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; + text-decoration: none; +} +.btn:active.loading::after, +.btn.active.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn[disabled], +.btn:disabled, +.btn.disabled { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.btn.btn-primary { + background: #121212; + border-color: #0a0a0a; + color: #fff; +} +.btn.btn-primary:focus, +.btn.btn-primary:hover { + background: #050505; + border-color: #000000; + color: #fff; +} +.btn.btn-primary:active, +.btn.btn-primary.active { + background: #000000; + border-color: #000000; + color: #fff; +} +.btn.btn-primary.loading::after { + border-bottom-color: #fff; + border-left-color: #fff; +} +.btn.btn-link { + background: transparent; + border-color: transparent; + color: #121212; +} +.btn.btn-link:focus, +.btn.btn-link:hover, +.btn.btn-link:active, +.btn.btn-link.active { + color: #050505; +} +.btn.btn-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.3rem; +} +.btn.btn-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.6rem; +} +.btn.btn-block { + display: block; + width: 100%; +} +.btn.btn-action { + width: 1.6rem; + padding-left: 0; + padding-right: 0; +} +.btn.btn-action.btn-sm { + width: 1.2rem; +} +.btn.btn-action.btn-lg { + width: 2rem; +} +.btn.btn-clear { + background: transparent; + border: 0; + color: currentColor; + height: 0.8rem; + line-height: 0.8rem; + margin-left: 0.2rem; + margin-right: -2px; + opacity: 0.45; + padding: 0 2px; + text-decoration: none; + width: 0.8rem; +} +.btn.btn-clear:hover { + opacity: 0.85; +} +.btn.btn-clear::before { + content: "\2715"; +} +.btn-group { + display: inline-flex; + flex-wrap: wrap; +} +.btn-group .btn { + flex: 1 0 auto; +} +.btn-group .btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group .btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.btn-group .btn:focus, +.btn-group .btn:hover, +.btn-group .btn:active, +.btn-group .btn.active { + z-index: 1; +} +.btn-group.btn-group-block { + display: flex; +} +.btn-group.btn-group-block .btn { + flex: 1 0 0; +} +.form-group:not(:last-child) { + margin-bottom: 0.4rem; +} +fieldset { + margin-bottom: 0.8rem; +} +legend { + font-size: 0.8rem; + font-weight: 500; + margin-bottom: 0.8rem; +} +.form-label { + display: block; + padding: 0.3rem 0; +} +.form-label.label-sm { + padding: 0.1rem 0; +} +.form-label.label-lg { + padding: 0.5rem 0; +} +.form-input { + appearance: none; + background: #fff; + background-image: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: #50596c; + transition: all 0.2s ease; + display: block; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + max-width: 100%; + outline: none; + padding: 0.25rem 0.4rem; + position: relative; + width: 100%; +} +.form-input:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-input::placeholder { + color: #acb3c2; +} +.form-input.input-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 0.4rem; +} +.form-input.input-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 0.4rem; +} +.form-input.input-inline { + display: inline-block; + vertical-align: middle; + width: auto; +} +textarea.form-input { + height: auto; +} +.form-input[type="file"] { + height: auto; +} +.form-input-hint { + color: #acb3c2; + font-size: 0.6rem; + margin-top: 0.2rem; +} +.has-success .form-input-hint, +.is-success + .form-input-hint { + color: #32b643; +} +.has-error .form-input-hint, +.is-error + .form-input-hint { + color: #e85600; +} +.form-select { + appearance: none; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + color: inherit; + font-size: 0.7rem; + height: 1.6rem; + line-height: 1rem; + outline: none; + padding: 0.25rem 0.4rem; + vertical-align: middle; + width: 100%; +} +.form-select[size], +.form-select[multiple] { + height: auto; +} +.form-select[size] option, +.form-select[multiple] option { + padding: 0.1rem 0.2rem; +} +.form-select:not([multiple]):not([size]) { + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 4 5%27%3E%3Cpath fill=%27%23667189%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3E%3C/svg%3E") no-repeat right 0.35rem center / 0.4rem 0.5rem; + padding-right: 1.1rem; +} +.form-select:focus { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-select::-ms-expand { + display: none; +} +.form-select.select-sm { + font-size: 0.6rem; + height: 1.2rem; + padding: 0.05rem 1.1rem 0.05rem 0.4rem; +} +.form-select.select-lg { + font-size: 0.8rem; + height: 2rem; + padding: 0.45rem 1.1rem 0.45rem 0.4rem; +} +.has-icon-left, +.has-icon-right { + position: relative; +} +.has-icon-left .form-icon, +.has-icon-right .form-icon { + height: 0.7rem; + margin: 0 0.25rem; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 0.7rem; +} +.has-icon-left .form-icon { + left: 0.05rem; +} +.has-icon-left .form-input { + padding-left: 1.2rem; +} +.has-icon-right .form-icon { + right: 0.05rem; +} +.has-icon-right .form-input { + padding-right: 1.2rem; +} +.form-checkbox, +.form-radio, +.form-switch { + display: inline-block; + line-height: 1rem; + padding: 0.1rem 1.1rem; + position: relative; +} +.form-checkbox input, +.form-radio input, +.form-switch input { + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + width: 1px; +} +.form-checkbox input:focus + .form-icon, +.form-radio input:focus + .form-icon, +.form-switch input:focus + .form-icon { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-checkbox input:checked + .form-icon, +.form-radio input:checked + .form-icon, +.form-switch input:checked + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox .form-icon, +.form-radio .form-icon, +.form-switch .form-icon { + border: 0.05rem solid #caced7; + transition: all 0.2s ease; + cursor: pointer; + display: inline-block; + position: absolute; +} +.form-checkbox .form-icon, +.form-radio .form-icon { + background: #fff; + height: 0.7rem; + left: 0; + top: 0.25rem; + width: 0.7rem; +} +.form-checkbox input:active + .form-icon, +.form-radio input:active + .form-icon { + background: #f0f1f4; +} +.form-checkbox .form-icon { + border-radius: 0.1rem; +} +.form-checkbox input:checked + .form-icon::before { + background-clip: padding-box; + border: 0.1rem solid #fff; + border-left-width: 0; + border-top-width: 0; + content: ""; + height: 10px; + left: 50%; + margin-left: -3px; + margin-top: -6px; + position: absolute; + top: 50%; + transform: rotate(45deg); + width: 6px; +} +.form-checkbox input:indeterminate + .form-icon { + background: #121212; + border-color: #121212; +} +.form-checkbox input:indeterminate + .form-icon::before { + background: #fff; + content: ""; + height: 2px; + left: 50%; + margin-left: -5px; + margin-top: -1px; + position: absolute; + top: 50%; + width: 10px; +} +.form-radio .form-icon { + border-radius: 0.35rem; +} +.form-radio input:checked + .form-icon::before { + background: #fff; + border-radius: 0.1rem; + content: ""; + height: 4px; + left: 50%; + margin-left: -2px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 4px; +} +.form-switch { + padding-left: 2rem; +} +.form-switch .form-icon { + background: #e7e9ed; + background-clip: padding-box; + border-radius: 0.45rem; + height: 0.9rem; + left: 0; + top: 0.15rem; + width: 1.6rem; +} +.form-switch .form-icon::before { + background: #fff; + border-radius: 0.4rem; + content: ""; + display: block; + height: 0.8rem; + left: 0; + position: absolute; + top: 0; + transition: all 0.2s ease; + width: 0.8rem; +} +.form-switch input:checked + .form-icon::before { + left: 14px; +} +.form-switch input:active + .form-icon::before { + background: #f8f9fa; +} +.input-group { + display: flex; +} +.input-group .input-group-addon { + background: #f8f9fa; + border: 0.05rem solid #caced7; + border-radius: 0.1rem; + line-height: 1rem; + padding: 0.25rem 0.4rem; +} +.input-group .input-group-addon.addon-sm { + font-size: 0.6rem; + padding: 0.05rem 0.4rem; +} +.input-group .input-group-addon.addon-lg { + font-size: 0.8rem; + padding: 0.45rem 0.4rem; +} +.input-group .form-input, +.input-group .form-select { + flex: 1 1 auto; +} +.input-group .input-group-btn { + z-index: 1; +} +.input-group .form-input:first-child:not(:last-child), +.input-group .form-select:first-child:not(:last-child), +.input-group .input-group-addon:first-child:not(:last-child), +.input-group .input-group-btn:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group .form-input:not(:first-child):not(:last-child), +.input-group .form-select:not(:first-child):not(:last-child), +.input-group .input-group-addon:not(:first-child):not(:last-child), +.input-group .input-group-btn:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:last-child:not(:first-child), +.input-group .form-select:last-child:not(:first-child), +.input-group .input-group-addon:last-child:not(:first-child), +.input-group .input-group-btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -0.05rem; +} +.input-group .form-input:focus, +.input-group .form-select:focus, +.input-group .input-group-addon:focus, +.input-group .input-group-btn:focus { + z-index: 2; +} +.input-group .form-select { + width: auto; +} +.input-group.input-inline { + display: inline-flex; +} +.has-success .form-input, +.has-success .form-select, +.form-input.is-success, +.form-select.is-success { + border-color: #32b643; +} +.has-success .form-input:focus, +.has-success .form-select:focus, +.form-input.is-success:focus, +.form-select.is-success:focus { + box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2); +} +.has-error .form-input, +.has-error .form-select, +.form-input.is-error, +.form-select.is-error { + border-color: #e85600; +} +.has-error .form-input:focus, +.has-error .form-select:focus, +.form-input.is-error:focus, +.form-select.is-error:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.has-error .form-checkbox .form-icon, +.has-error .form-radio .form-icon, +.has-error .form-switch .form-icon, +.form-checkbox.is-error .form-icon, +.form-radio.is-error .form-icon, +.form-switch.is-error .form-icon { + border-color: #e85600; +} +.has-error .form-checkbox input:checked + .form-icon, +.has-error .form-radio input:checked + .form-icon, +.has-error .form-switch input:checked + .form-icon, +.form-checkbox.is-error input:checked + .form-icon, +.form-radio.is-error input:checked + .form-icon, +.form-switch.is-error input:checked + .form-icon { + background: #e85600; + border-color: #e85600; +} +.has-error .form-checkbox input:focus + .form-icon, +.has-error .form-radio input:focus + .form-icon, +.has-error .form-switch input:focus + .form-icon, +.form-checkbox.is-error input:focus + .form-icon, +.form-radio.is-error input:focus + .form-icon, +.form-switch.is-error input:focus + .form-icon { + border-color: #e85600; + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid { + border-color: #e85600; +} +.form-input:not(:placeholder-shown):invalid:focus { + box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); +} +.form-input:not(:placeholder-shown):invalid + .form-input-hint { + color: #e85600; +} +.form-input:disabled, +.form-select:disabled, +.form-input.disabled, +.form-select.disabled { + background-color: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-input[readonly] { + background-color: #f8f9fa; +} +input:disabled + .form-icon, +input.disabled + .form-icon { + background: #f0f1f4; + cursor: not-allowed; + opacity: 0.5; +} +.form-switch input:disabled + .form-icon::before, +.form-switch input.disabled + .form-icon::before { + background: #fff; +} +.form-horizontal { + padding: 0.4rem; +} +.form-horizontal .form-group { + display: flex; +} +.form-horizontal .form-checkbox, +.form-horizontal .form-radio, +.form-horizontal .form-switch { + margin: 0.2rem 0; +} +.label { + display: inline-block; + border-radius: 0.1rem; + padding: 0.15rem 0.2rem; + background: #f8f9fa; + color: #5b657a; + line-height: 1; +} +.label.label-rounded { + border-radius: 5rem; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.label.label-primary { + background: #121212; + color: #fff; +} +.label.label-secondary { + background: #787878; + color: #121212; +} +.label.label-success { + background: #32b643; + color: #fff; +} +.label.label-warning { + background: #ffb700; + color: #fff; +} +.label.label-error { + background: #e85600; + color: #fff; +} +code { + font-size: 0.65rem; + border-radius: 0.1rem; + line-height: 1; + padding: 0.15rem 0.2rem; + background: #fdf4f4; + color: #e06870; +} +.code { + border-radius: 0.1rem; + color: #50596c; + line-height: 1rem; + position: relative; +} +.code::before { + content: attr(data-lang); + color: #acb3c2; + font-size: 0.6rem; + position: absolute; + right: 0.4rem; + top: 0.1rem; +} +.code code { + background: #f8f9fa; + color: inherit; + display: block; + line-height: inherit; + overflow-x: auto; + padding: 1rem; + width: 100%; +} +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} +.img-fit-cover { + object-fit: cover; +} +.img-fit-contain { + object-fit: contain; +} +.video-responsive { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.video-responsive::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.video-responsive iframe, +.video-responsive object, +.video-responsive embed { + border: 0; + bottom: 0; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.video-responsive video { + height: auto; + max-width: 100%; + width: 100%; +} +.video-responsive-4-3::before { + padding-bottom: 75%; +} +.video-responsive-1-1::before { + padding-bottom: 100%; +} +.figure { + margin: 0 0 0.4rem 0; +} +.figure .figure-caption { + color: #727e96; + margin-top: 0.4rem; +} +.container { + margin-left: auto; + margin-right: auto; + padding-left: 0.4rem; + padding-right: 0.4rem; + width: 100%; +} +.container.grid-xl { + max-width: 1296px; +} +.container.grid-lg { + max-width: 976px; +} +.container.grid-md { + max-width: 856px; +} +.container.grid-sm { + max-width: 616px; +} +.container.grid-xs { + max-width: 496px; +} +.show-xs, +.show-sm, +.show-md, +.show-lg, +.show-xl { + display: none !important; +} +.columns { + display: flex; + flex-wrap: wrap; + margin-left: -0.4rem; + margin-right: -0.4rem; +} +.columns.col-gapless { + margin-left: 0; + margin-right: 0; +} +.columns.col-gapless > .column { + padding-left: 0; + padding-right: 0; +} +.columns.col-oneline { + flex-wrap: nowrap; + overflow-x: auto; +} +.column { + flex: 1; + max-width: 100%; + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.column.col-12, +.column.col-11, +.column.col-10, +.column.col-9, +.column.col-8, +.column.col-7, +.column.col-6, +.column.col-5, +.column.col-4, +.column.col-3, +.column.col-2, +.column.col-1 { + flex: none; +} +.col-12 { + width: 100%; +} +.col-11 { + width: 91.66666667%; +} +.col-10 { + width: 83.33333333%; +} +.col-9 { + width: 75%; +} +.col-8 { + width: 66.66666667%; +} +.col-7 { + width: 58.33333333%; +} +.col-6 { + width: 50%; +} +.col-5 { + width: 41.66666667%; +} +.col-4 { + width: 33.33333333%; +} +.col-3 { + width: 25%; +} +.col-2 { + width: 16.66666667%; +} +.col-1 { + width: 8.33333333%; +} +.col-auto { + flex: 0 0 auto; + max-width: none; + width: auto; +} +.col-mx-auto { + margin-left: auto; + margin-right: auto; +} +.col-ml-auto { + margin-left: auto; +} +.col-mr-auto { + margin-right: auto; +} +@media screen and (max-width: 1280px) { + .col-xl-12, + .col-xl-11, + .col-xl-10, + .col-xl-9, + .col-xl-8, + .col-xl-7, + .col-xl-6, + .col-xl-5, + .col-xl-4, + .col-xl-3, + .col-xl-2, + .col-xl-1 { + flex: none; + } + .col-xl-12 { + width: 100%; + } + .col-xl-11 { + width: 91.66666667%; + } + .col-xl-10 { + width: 83.33333333%; + } + .col-xl-9 { + width: 75%; + } + .col-xl-8 { + width: 66.66666667%; + } + .col-xl-7 { + width: 58.33333333%; + } + .col-xl-6 { + width: 50%; + } + .col-xl-5 { + width: 41.66666667%; + } + .col-xl-4 { + width: 33.33333333%; + } + .col-xl-3 { + width: 25%; + } + .col-xl-2 { + width: 16.66666667%; + } + .col-xl-1 { + width: 8.33333333%; + } + .hide-xl { + display: none !important; + } + .show-xl { + display: block !important; + } +} +@media screen and (max-width: 960px) { + .col-lg-12, + .col-lg-11, + .col-lg-10, + .col-lg-9, + .col-lg-8, + .col-lg-7, + .col-lg-6, + .col-lg-5, + .col-lg-4, + .col-lg-3, + .col-lg-2, + .col-lg-1 { + flex: none; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .hide-lg { + display: none !important; + } + .show-lg { + display: block !important; + } +} +@media screen and (max-width: 840px) { + .col-md-12, + .col-md-11, + .col-md-10, + .col-md-9, + .col-md-8, + .col-md-7, + .col-md-6, + .col-md-5, + .col-md-4, + .col-md-3, + .col-md-2, + .col-md-1 { + flex: none; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .hide-md { + display: none !important; + } + .show-md { + display: block !important; + } +} +@media screen and (max-width: 600px) { + .col-sm-12, + .col-sm-11, + .col-sm-10, + .col-sm-9, + .col-sm-8, + .col-sm-7, + .col-sm-6, + .col-sm-5, + .col-sm-4, + .col-sm-3, + .col-sm-2, + .col-sm-1 { + flex: none; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .hide-sm { + display: none !important; + } + .show-sm { + display: block !important; + } +} +@media screen and (max-width: 480px) { + .col-xs-12, + .col-xs-11, + .col-xs-10, + .col-xs-9, + .col-xs-8, + .col-xs-7, + .col-xs-6, + .col-xs-5, + .col-xs-4, + .col-xs-3, + .col-xs-2, + .col-xs-1 { + flex: none; + } + .col-xs-12 { + width: 100%; + } + .col-xs-11 { + width: 91.66666667%; + } + .col-xs-10 { + width: 83.33333333%; + } + .col-xs-9 { + width: 75%; + } + .col-xs-8 { + width: 66.66666667%; + } + .col-xs-7 { + width: 58.33333333%; + } + .col-xs-6 { + width: 50%; + } + .col-xs-5 { + width: 41.66666667%; + } + .col-xs-4 { + width: 33.33333333%; + } + .col-xs-3 { + width: 25%; + } + .col-xs-2 { + width: 16.66666667%; + } + .col-xs-1 { + width: 8.33333333%; + } + .hide-xs { + display: none !important; + } + .show-xs { + display: block !important; + } +} +.navbar { + align-items: stretch; + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.navbar .navbar-section { + align-items: center; + display: flex; + flex: 1 0 0; +} +.navbar .navbar-section:last-child { + justify-content: flex-end; +} +.navbar .navbar-center { + align-items: center; + display: flex; + flex: 0 0 auto; +} +.navbar .navbar-brand { + font-size: 0.8rem; + font-weight: 500; + text-decoration: none; +} +.panel { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.panel .panel-header, +.panel .panel-footer { + flex: 0 0 auto; + padding: 0.8rem; +} +.panel .panel-nav { + flex: 0 0 auto; +} +.panel .panel-body { + flex: 1 1 auto; + overflow-y: auto; + padding: 0 0.8rem; +} +.empty { + background: #f8f9fa; + border-radius: 0.1rem; + color: #727e96; + text-align: center; + padding: 1.6rem; +} +.empty .empty-icon { + margin-bottom: 0.8rem; +} +.empty .empty-title, +.empty .empty-subtitle { + margin: 0.4rem auto; +} +.empty .empty-action { + margin-top: 0.8rem; +} +.accordion .accordion-item input:checked ~ .accordion-header .icon { + transform: rotate(90deg); +} +.accordion .accordion-item input:checked ~ .accordion-body { + max-height: 1000px; +} +.accordion .accordion-item .accordion-header { + display: block; + padding: 0.2rem 0.4rem; +} +.accordion .accordion-item .accordion-header .icon { + transition: all 0.2s ease; +} +.accordion .accordion-item .accordion-body { + margin-bottom: 0.4rem; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease; +} +.form-autocomplete { + position: relative; +} +.form-autocomplete .form-autocomplete-input { + align-content: flex-start; + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 1.6rem; + padding: 0.1rem; +} +.form-autocomplete .form-autocomplete-input.is-focused { + border-color: #121212; + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.form-autocomplete .form-autocomplete-input .form-input { + border-color: transparent; + box-shadow: none; + display: inline-block; + flex: 1 0 auto; + height: 1.2rem; + line-height: 0.8rem; + margin: 0.1rem; + width: auto; +} +.form-autocomplete mark { + font-size: 1; + padding: 0.1em 0; +} +.form-autocomplete .menu { + left: 0; + position: absolute; + top: 100%; + width: 100%; +} +.avatar { + font-size: 0.8rem; + height: 1.6rem; + width: 1.6rem; + background: #121212; + border-radius: 50%; + color: rgba(255, 255, 255, 0.85); + display: inline-block; + font-weight: 300; + line-height: 1; + margin: 0; + position: relative; + vertical-align: middle; +} +.avatar.avatar-xs { + font-size: 0.4rem; + height: 0.8rem; + width: 0.8rem; +} +.avatar.avatar-sm { + font-size: 0.6rem; + height: 1.2rem; + width: 1.2rem; +} +.avatar.avatar-lg { + font-size: 1.2rem; + height: 2.4rem; + width: 2.4rem; +} +.avatar.avatar-xl { + font-size: 1.6rem; + height: 3.2rem; + width: 3.2rem; +} +.avatar img { + border-radius: 50%; + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.avatar .avatar-icon, +.avatar .avatar-presence { + background: #fff; + bottom: 14.64%; + height: 50%; + padding: 0.1rem; + position: absolute; + right: 14.64%; + transform: translate(50%, 50%); + width: 50%; + z-index: 2; +} +.avatar .avatar-presence { + background: #acb3c2; + box-shadow: 0 0 0 0.1rem #fff; + border-radius: 50%; + height: 0.5em; + width: 0.5em; +} +.avatar .avatar-presence.online { + background: #32b643; +} +.avatar .avatar-presence.busy { + background: #e85600; +} +.avatar .avatar-presence.away { + background: #ffb700; +} +.avatar[data-initial]::before { + color: currentColor; + content: attr(data-initial); + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + z-index: 1; +} +.badge { + position: relative; + white-space: nowrap; +} +.badge[data-badge]::after, +.badge:not([data-badge])::after { + background: #121212; + background-clip: padding-box; + border-radius: 0.5rem; + box-shadow: 0 0 0 0.1rem #fff; + color: #fff; + content: attr(data-badge); + display: inline-block; + transform: translate(-0.1rem, -0.5rem); +} +.badge[data-badge]::after { + font-size: 0.6rem; + height: 18px; + line-height: 1; + min-width: 18px; + padding: 3px 5px; + text-align: center; + white-space: nowrap; +} +.badge:not([data-badge])::after, +.badge[data-badge='']::after { + height: 6px; + min-width: 6px; + padding: 0; + width: 6px; +} +.badge.btn::after { + position: absolute; + top: 0; + right: 0; + transform: translate(50%, -50%); +} +.badge.avatar::after { + position: absolute; + top: 14.64%; + right: 14.64%; + transform: translate(50%, -50%); + z-index: 100; +} +.badge.avatar-xs::after { + content: ""; + height: 0.4rem; + min-width: 0.4rem; + padding: 0; + width: 0.4rem; +} +.breadcrumb { + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item { + color: #727e96; + display: inline-block; + margin: 0; + padding: 0.2rem 0; +} +.breadcrumb .breadcrumb-item:not(:last-child) { + margin-right: 0.2rem; +} +.breadcrumb .breadcrumb-item:not(:last-child) a { + color: #727e96; +} +.breadcrumb .breadcrumb-item:not(:first-child)::before { + color: #e7e9ed; + content: "/"; + padding-right: 0.2rem; +} +.bar { + background: #f0f1f4; + border-radius: 0.1rem; + display: flex; + flex-wrap: nowrap; + height: 0.8rem; + width: 100%; +} +.bar.bar-sm { + height: 0.2rem; +} +.bar .bar-item { + background: #121212; + color: #fff; + display: block; + font-size: 0.6rem; + flex-shrink: 0; + line-height: 0.8rem; + height: 100%; + position: relative; + text-align: center; + width: 0; +} +.bar .bar-item:first-child { + border-bottom-left-radius: 0.1rem; + border-top-left-radius: 0.1rem; +} +.bar .bar-item:last-child { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; + flex-shrink: 1; +} +.bar-slider { + height: 0.1rem; + margin: 0.4rem 0; + position: relative; +} +.bar-slider .bar-item { + left: 0; + padding: 0; + position: absolute; +} +.bar-slider .bar-item:not(:last-child):first-child { + background: #f0f1f4; + z-index: 1; +} +.bar-slider .bar-slider-btn { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + padding: 0; + position: absolute; + right: 0; + top: 50%; + transform: translate(50%, -50%); + width: 0.6rem; +} +.bar-slider .bar-slider-btn:active { + box-shadow: 0 0 0 0.1rem #121212; +} +.card { + background: #fff; + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: flex; + flex-direction: column; +} +.card .card-header, +.card .card-body, +.card .card-footer { + padding: 0.8rem; + padding-bottom: 0; +} +.card .card-header:last-child, +.card .card-body:last-child, +.card .card-footer:last-child { + padding-bottom: 0.8rem; +} +.card .card-image { + padding-top: 0.8rem; +} +.card .card-image:first-child { + padding-top: 0; +} +.card .card-image:first-child img { + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.card .card-image:last-child img { + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; +} +.chip { + align-items: center; + background: #f0f1f4; + border-radius: 5rem; + color: #727e96; + display: inline-flex; + height: 1.2rem; + margin: 0.1rem; + max-width: 100%; + padding: 0.1rem 0.5rem; + text-decoration: none; + vertical-align: middle; +} +.chip.active { + background: #121212; + color: #fff; +} +.chip .avatar { + margin-left: -0.5rem; + margin-right: 0.2rem; +} +.dropdown { + display: inline-block; + position: relative; +} +.dropdown .menu { + animation: slide-down 0.15s ease 1; + display: none; + left: 0; + max-height: 50vh; + overflow-y: auto; + position: absolute; + top: 100%; +} +.dropdown.dropdown-right .menu { + left: auto; + right: 0; +} +.dropdown.active .menu, +.dropdown .dropdown-toggle:focus + .menu, +.dropdown .menu:hover { + display: block; +} +.dropdown .btn-group .dropdown-toggle:nth-last-child(2) { + border-bottom-right-radius: 0.1rem; + border-top-right-radius: 0.1rem; +} +.menu { + background: #fff; + border-radius: 0.1rem; + list-style: none; + margin: 0; + min-width: 180px; + padding: 0.4rem; + box-shadow: 0 0.05rem 0.2rem rgba(69, 77, 93, 0.3); + transform: translateY(0.2rem); + z-index: 100; +} +.menu.menu-nav { + background: transparent; + box-shadow: none; +} +.menu .menu-item { + margin-top: 0; + padding: 0 0.4rem; + text-decoration: none; + user-select: none; +} +.menu .menu-item > a { + border-radius: 0.1rem; + color: inherit; + display: block; + margin: 0 -0.4rem; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.menu .menu-item > a:focus, +.menu .menu-item > a:hover { + background: #787878; + color: #121212; +} +.menu .menu-item > a:active, +.menu .menu-item > a.active { + background: #787878; + color: #121212; +} +.menu .menu-item + .menu-item { + margin-top: 0.2rem; +} +.menu .menu-badge { + float: right; + padding: 0.2rem 0; +} +.menu .menu-badge .btn { + margin-top: -0.1rem; +} +.modal { + align-items: center; + bottom: 0; + display: none; + justify-content: center; + left: 0; + opacity: 0; + overflow: hidden; + padding: 0.4rem; + position: fixed; + right: 0; + top: 0; +} +.modal:target, +.modal.active { + display: flex; + opacity: 1; + z-index: 400; +} +.modal:target .modal-overlay, +.modal.active .modal-overlay { + background: rgba(248, 249, 250, 0.75); + bottom: 0; + cursor: default; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.modal:target .modal-container, +.modal.active .modal-container { + animation: slide-down 0.2s ease 1; + max-width: 640px; + z-index: 1; +} +.modal.modal-sm .modal-container { + max-width: 320px; +} +.modal-container { + background: #fff; + border-radius: 0.1rem; + display: block; + padding: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); + text-align: left; +} +.modal-container .modal-header { + padding: 0.8rem; +} +.modal-container .modal-header .modal-title { + margin: 0; +} +.modal-container .modal-body { + max-height: 50vh; + overflow-y: auto; + padding: 0.8rem; + position: relative; +} +.modal-container .modal-footer { + padding: 0.8rem; + text-align: right; +} +.nav { + display: flex; + flex-direction: column; + list-style: none; + margin: 0.2rem 0; +} +.nav .nav-item a { + color: #727e96; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.nav .nav-item a:focus, +.nav .nav-item a:hover { + color: #121212; +} +.nav .nav-item.active > a { + color: #5b657a; + font-weight: bold; +} +.nav .nav-item.active > a:focus, +.nav .nav-item.active > a:hover { + color: #121212; +} +.nav .nav { + margin-bottom: 0.4rem; + margin-left: 0.8rem; +} +.pagination { + display: flex; + list-style: none; + margin: 0.2rem 0; + padding: 0.2rem 0; +} +.pagination .page-item { + margin: 0.2rem 0.05rem; +} +.pagination .page-item span { + display: inline-block; + padding: 0.2rem 0.2rem; +} +.pagination .page-item a { + border-radius: 0.1rem; + color: #727e96; + display: inline-block; + padding: 0.2rem 0.4rem; + text-decoration: none; +} +.pagination .page-item a:focus, +.pagination .page-item a:hover { + color: #121212; +} +.pagination .page-item.disabled a { + cursor: default; + opacity: 0.5; + pointer-events: none; +} +.pagination .page-item.active a { + background: #121212; + color: #fff; +} +.pagination .page-item.page-prev, +.pagination .page-item.page-next { + flex: 1 0 50%; +} +.pagination .page-item.page-next { + text-align: right; +} +.pagination .page-item .page-item-title { + margin: 0; +} +.pagination .page-item .page-item-subtitle { + margin: 0; + opacity: 0.5; +} +.popover { + display: inline-block; + position: relative; +} +.popover .popover-container { + content: attr(data-tooltip); + opacity: 0; + left: 50%; + padding: 0.4rem; + position: absolute; + top: 0; + transform: translate(-50%, -50%) scale(0); + transition: transform 0.2s ease; + width: 320px; + z-index: 400; +} +.popover :focus + .popover-container, +.popover:hover .popover-container, +.popover .popover-container:hover { + display: block; + opacity: 1; + transform: translate(-50%, -100%) scale(1); +} +.popover.popover-right .popover-container { + left: 100%; + top: 50%; +} +.popover.popover-right :focus + .popover-container, +.popover.popover-right:hover .popover-container, +.popover.popover-right .popover-container:hover { + transform: translate(0, -50%) scale(1); +} +.popover.popover-bottom .popover-container { + left: 50%; + top: 100%; +} +.popover.popover-bottom :focus + .popover-container, +.popover.popover-bottom:hover .popover-container, +.popover.popover-bottom .popover-container:hover { + transform: translate(-50%, 0) scale(1); +} +.popover.popover-left .popover-container { + left: 0; + top: 50%; +} +.popover.popover-left :focus + .popover-container, +.popover.popover-left:hover .popover-container, +.popover.popover-left .popover-container:hover { + transform: translate(-100%, -50%) scale(1); +} +.popover .card { + border: 0; + box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); +} +.step { + display: flex; + flex-wrap: nowrap; + list-style: none; + margin: 0.2rem 0; + width: 100%; +} +.step .step-item { + flex: 1 1 0; + margin-top: 0; + min-height: 20px; + text-align: center; + position: relative; +} +.step .step-item:not(:first-child)::before { + background: #121212; + content: ""; + height: 2px; + left: -50%; + position: absolute; + top: 9px; + width: 100%; +} +.step .step-item a { + color: #acb3c2; + display: inline-block; + padding: 20px 10px 0; + text-decoration: none; +} +.step .step-item a::before { + background: #121212; + border: 0.1rem solid #fff; + border-radius: 50%; + content: ""; + display: block; + height: 0.6rem; + left: 50%; + position: absolute; + top: 0.2rem; + transform: translateX(-50%); + width: 0.6rem; + z-index: 1; +} +.step .step-item.active a::before { + background: #fff; + border: 0.1rem solid #121212; +} +.step .step-item.active ~ .step-item::before { + background: #e7e9ed; +} +.step .step-item.active ~ .step-item a::before { + background: #e7e9ed; +} +.tab { + align-items: center; + border-bottom: 0.05rem solid #e7e9ed; + display: flex; + flex-wrap: wrap; + list-style: none; + margin: 0.2rem 0 0.15rem 0; +} +.tab .tab-item { + margin-top: 0; +} +.tab .tab-item.tab-action { + flex: 1 0 auto; + text-align: right; +} +.tab .tab-item a { + border-bottom: 0.1rem solid transparent; + color: inherit; + display: block; + margin: 0 0.4rem 0 0; + padding: 0.4rem 0.2rem 0.3rem 0.2rem; + text-decoration: none; +} +.tab .tab-item a:focus, +.tab .tab-item a:hover { + color: #121212; +} +.tab .tab-item.active a, +.tab .tab-item a.active { + border-bottom-color: #121212; + color: #121212; +} +.tab.tab-block .tab-item { + flex: 1 0 0; + text-align: center; +} +.tab.tab-block .tab-item a { + margin: 0; +} +.tab.tab-block .tab-item .badge[data-badge]::after { + position: absolute; + right: -4px; + top: -4px; + transform: translate(0, 0); +} +.tab:not(.tab-block) .badge { + padding-right: 2px; +} +.tile { + align-content: space-between; + align-items: flex-start; + display: flex; +} +.tile .tile-icon, +.tile .tile-action { + flex: 0 0 auto; +} +.tile .tile-content { + flex: 1 1 auto; +} +.tile .tile-content:not(:first-child) { + padding-left: 0.4rem; +} +.tile .tile-content:not(:last-child) { + padding-right: 0.4rem; +} +.tile .tile-title, +.tile .tile-subtitle { + line-height: 1rem; +} +.tile.tile-centered { + align-items: center; +} +.tile.tile-centered .tile-content { + overflow: hidden; +} +.tile.tile-centered .tile-title, +.tile.tile-centered .tile-subtitle { + margin-bottom: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.toast { + border: 0.05rem solid #454d5d; + border-radius: 0.1rem; + color: #fff; + display: block; + padding: 0.4rem; + background: rgba(69, 77, 93, 0.9); + border-color: #454d5d; + width: 100%; +} +.toast.toast-primary { + background: rgba(18, 18, 18, 0.9); + border-color: #121212; +} +.toast.toast-success { + background: rgba(50, 182, 67, 0.9); + border-color: #32b643; +} +.toast.toast-warning { + background: rgba(255, 183, 0, 0.9); + border-color: #ffb700; +} +.toast.toast-error { + background: rgba(232, 86, 0, 0.9); + border-color: #e85600; +} +.toast a { + color: #fff; + text-decoration: underline; +} +.toast a:focus, +.toast a:hover, +.toast a:active, +.toast a.active { + opacity: 0.75; +} +.toast .btn-clear { + margin: 2px -2px 2px 4px; +} +.tooltip { + position: relative; +} +.tooltip::after { + background: rgba(69, 77, 93, 0.9); + border-radius: 0.1rem; + bottom: 100%; + color: #fff; + content: attr(data-tooltip); + display: block; + font-size: 0.6rem; + left: 50%; + max-width: 320px; + opacity: 0; + overflow: hidden; + padding: 0.2rem 0.4rem; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + transform: translate(-50%, 0.4rem); + transition: all 0.2s ease; + white-space: nowrap; + z-index: 300; +} +.tooltip:focus::after, +.tooltip:hover::after { + opacity: 1; + transform: translate(-50%, -0.2rem); +} +.tooltip[disabled], +.tooltip.disabled { + pointer-events: auto; +} +.tooltip.tooltip-right::after { + bottom: 50%; + left: 100%; + transform: translate(-0.2rem, 50%); +} +.tooltip.tooltip-right:focus::after, +.tooltip.tooltip-right:hover::after { + transform: translate(0.2rem, 50%); +} +.tooltip.tooltip-bottom::after { + bottom: auto; + top: 100%; + transform: translate(-50%, -0.4rem); +} +.tooltip.tooltip-bottom:focus::after, +.tooltip.tooltip-bottom:hover::after { + transform: translate(-50%, 0.2rem); +} +.tooltip.tooltip-left::after { + bottom: 50%; + left: auto; + right: 100%; + transform: translate(0.4rem, 50%); +} +.tooltip.tooltip-left:focus::after, +.tooltip.tooltip-left:hover::after { + transform: translate(-0.2rem, 50%); +} +@keyframes loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes slide-down { + 0% { + opacity: 0; + transform: translateY(-1.6rem); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.text-primary { + color: #121212; +} +a.text-primary:focus, +a.text-primary:hover { + color: #050505; +} +.text-secondary { + color: #707070; +} +a.text-secondary:focus, +a.text-secondary:hover { + color: #646464; +} +.text-gray { + color: #acb3c2; +} +a.text-gray:focus, +a.text-gray:hover { + color: #9ea6b7; +} +.text-light { + color: #fff; +} +a.text-light:focus, +a.text-light:hover { + color: #f2f2f2; +} +.text-success { + color: #32b643; +} +a.text-success:focus, +a.text-success:hover { + color: #2da23c; +} +.text-warning { + color: #ffb700; +} +a.text-warning:focus, +a.text-warning:hover { + color: #e6a500; +} +.text-error { + color: #e85600; +} +a.text-error:focus, +a.text-error:hover { + color: #cf4d00; +} +.bg-primary { + background: #121212; +} +.bg-secondary { + background: #787878; +} +.bg-dark { + background: #454d5d; +} +.bg-gray { + background: #f8f9fa; +} +.bg-success { + background: #32b643; +} +.bg-warning { + background: #ffb700; +} +.bg-error { + background: #e85600; +} +.d-block { + display: block; +} +.d-inline { + display: inline; +} +.d-inline-block { + display: inline-block; +} +.d-flex { + display: flex; +} +.d-inline-flex { + display: inline-flex; +} +.d-none, +.hide { + display: none !important; +} +.d-visible { + visibility: visible; +} +.d-invisible { + visibility: hidden; +} +.text-hide { + background: transparent; + border: 0; + color: transparent; + font-size: 0; + line-height: 0; + text-shadow: none; +} +.text-assistive { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.hand { + cursor: pointer; +} +.divider, +.divider-vert { + display: block; + position: relative; +} +.divider[data-content]::after, +.divider-vert[data-content]::after { + background: #fff; + color: #acb3c2; + content: attr(data-content); + display: inline-block; + font-size: 0.6rem; + padding: 0 0.4rem; + transform: translateY(-0.55rem); +} +.divider { + border-top: 0.05rem solid #e7e9ed; + height: 0.05rem; + margin: 0.4rem 0; +} +.divider[data-content] { + margin: 0.8rem 0; +} +.divider-vert { + display: block; + padding: 0.8rem; +} +.divider-vert::before { + border-left: 0.05rem solid #e7e9ed; + bottom: 0.4rem; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 0.4rem; + transform: translateX(-50%); +} +.divider-vert[data-content]::after { + left: 50%; + padding: 0.2rem 0; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.loading { + color: transparent !important; + min-height: 0.8rem; + pointer-events: none; + position: relative; +} +.loading::after { + animation: loading 500ms infinite linear; + border: 0.1rem solid #121212; + border-radius: 50%; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 0.8rem; + left: 50%; + margin-left: -0.4rem; + margin-top: -0.4rem; + position: absolute; + top: 50%; + width: 0.8rem; + z-index: 1; +} +.loading.loading-lg { + min-height: 2rem; +} +.loading.loading-lg::after { + height: 1.6rem; + width: 1.6rem; + margin-left: -0.8rem; + margin-top: -0.8rem; +} +.clearfix::after, +.container::after { + clear: both; + content: ""; + display: table; +} +.float-left { + float: left !important; +} +.float-right { + float: right !important; +} +.relative { + position: relative; +} +.absolute { + position: absolute; +} +.fixed { + position: fixed; +} +.centered { + display: block; + float: none; + margin-left: auto; + margin-right: auto; +} +.m-0 { + margin: 0; +} +.mb-0 { + margin-bottom: 0; +} +.ml-0 { + margin-left: 0; +} +.mr-0 { + margin-right: 0; +} +.mt-0 { + margin-top: 0; +} +.mx-0 { + margin-left: 0; + margin-right: 0; +} +.my-0 { + margin-bottom: 0; + margin-top: 0; +} +.m-1 { + margin: 0.2rem; +} +.mb-1 { + margin-bottom: 0.2rem; +} +.ml-1 { + margin-left: 0.2rem; +} +.mr-1 { + margin-right: 0.2rem; +} +.mt-1 { + margin-top: 0.2rem; +} +.mx-1 { + margin-left: 0.2rem; + margin-right: 0.2rem; +} +.my-1 { + margin-bottom: 0.2rem; + margin-top: 0.2rem; +} +.m-2 { + margin: 0.4rem; +} +.mb-2 { + margin-bottom: 0.4rem; +} +.ml-2 { + margin-left: 0.4rem; +} +.mr-2 { + margin-right: 0.4rem; +} +.mt-2 { + margin-top: 0.4rem; +} +.mx-2 { + margin-left: 0.4rem; + margin-right: 0.4rem; +} +.my-2 { + margin-bottom: 0.4rem; + margin-top: 0.4rem; +} +.p-0 { + padding: 0; +} +.pb-0 { + padding-bottom: 0; +} +.pl-0 { + padding-left: 0; +} +.pr-0 { + padding-right: 0; +} +.pt-0 { + padding-top: 0; +} +.px-0 { + padding-left: 0; + padding-right: 0; +} +.py-0 { + padding-bottom: 0; + padding-top: 0; +} +.p-1 { + padding: 0.2rem; +} +.pb-1 { + padding-bottom: 0.2rem; +} +.pl-1 { + padding-left: 0.2rem; +} +.pr-1 { + padding-right: 0.2rem; +} +.pt-1 { + padding-top: 0.2rem; +} +.px-1 { + padding-left: 0.2rem; + padding-right: 0.2rem; +} +.py-1 { + padding-bottom: 0.2rem; + padding-top: 0.2rem; +} +.p-2 { + padding: 0.4rem; +} +.pb-2 { + padding-bottom: 0.4rem; +} +.pl-2 { + padding-left: 0.4rem; +} +.pr-2 { + padding-right: 0.4rem; +} +.pt-2 { + padding-top: 0.4rem; +} +.px-2 { + padding-left: 0.4rem; + padding-right: 0.4rem; +} +.py-2 { + padding-bottom: 0.4rem; + padding-top: 0.4rem; +} +.rounded { + border-radius: 0.1rem; +} +.circle { + border-radius: 50%; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-normal { + font-weight: normal; +} +.text-bold { + font-weight: bold; +} +.text-italic { + font-style: italic; +} +.text-large { + font-size: 1.2em; +} +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.text-clip { + overflow: hidden; + text-overflow: clip; + white-space: nowrap; +} +.text-break { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; +} +/*! Spectre.css Experimentals | MIT License | github.com/picturepan2/spectre */ +.calendar { + border: 0.05rem solid #e7e9ed; + border-radius: 0.1rem; + display: block; + min-width: 280px; + text-align: center; +} +.calendar .calendar-nav { + align-items: center; + background: #f8f9fa; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + display: flex; + font-size: 0.8rem; + padding: 0.4rem; +} +.calendar .calendar-header, +.calendar .calendar-body { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: 0.4rem 0; +} +.calendar .calendar-header .calendar-date, +.calendar .calendar-body .calendar-date { + flex: 0 0 14.28%; + max-width: 14.28%; +} +.calendar .calendar-header { + background: #f8f9fa; + border-bottom: 0.05rem solid #e7e9ed; + color: #acb3c2; + font-size: 0.6rem; +} +.calendar .calendar-body { + color: #727e96; +} +.calendar .calendar-date { + border: 0; + padding: 0.2rem; +} +.calendar .calendar-date .date-item { + appearance: none; + background: transparent; + border: 0.05rem solid transparent; + border-radius: 50%; + color: #727e96; + transition: all 0.2s ease; + cursor: pointer; + height: 1.4rem; + line-height: 1rem; + outline: none; + padding: 0.1rem; + position: relative; + text-align: center; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + width: 1.4rem; +} +.calendar .calendar-date .date-item.date-today { + border-color: #707070; + color: #121212; +} +.calendar .calendar-date .date-item:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); +} +.calendar .calendar-date .date-item:focus, +.calendar .calendar-date .date-item:hover { + background: #808080; + border-color: #707070; + color: #121212; + text-decoration: none; +} +.calendar .calendar-date .date-item:active, +.calendar .calendar-date .date-item.active { + background: #0a0a0a; + border-color: #000000; + color: #fff; +} +.calendar .calendar-date .date-item.badge::after { + position: absolute; + top: 3px; + right: 3px; + transform: translate(50%, -50%); +} +.calendar .calendar-date.disabled .date-item, +.calendar .calendar-date.disabled .calendar-event, +.calendar .calendar-date .date-item:disabled, +.calendar .calendar-date .calendar-event:disabled { + cursor: default; + opacity: 0.25; + pointer-events: none; +} +.calendar .calendar-range { + position: relative; +} +.calendar .calendar-range::before { + background: #787878; + content: ""; + height: 1.4rem; + left: 0; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.calendar .calendar-range.range-start::before { + left: 50%; +} +.calendar .calendar-range.range-end::before { + right: 50%; +} +.calendar .calendar-range .date-item { + color: #121212; +} +.calendar.calendar-lg .calendar-body { + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date { + border-bottom: 0.05rem solid #e7e9ed; + border-right: 0.05rem solid #e7e9ed; + display: flex; + flex-direction: column; + height: 5.5rem; + padding: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) { + border-right: 0; +} +.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) { + border-bottom: 0; +} +.calendar.calendar-lg .date-item { + align-self: flex-end; + height: 1.4rem; + margin-right: 0.2rem; + margin-top: 0.2rem; +} +.calendar.calendar-lg .calendar-range::before { + top: 19px; +} +.calendar.calendar-lg .calendar-range.range-start::before { + left: auto; + width: 19px; +} +.calendar.calendar-lg .calendar-range.range-end::before { + right: 19px; +} +.calendar.calendar-lg .calendar-events { + flex-grow: 1; + line-height: 1; + overflow-y: auto; + padding: 0.2rem; +} +.calendar.calendar-lg .calendar-event { + background: #787878; + border-radius: 0.1rem; + color: #121212; + font-size: 0.6rem; + display: block; + margin: 0.1rem auto; + overflow: hidden; + padding: 3px 4px; + text-align: left; + text-overflow: ellipsis; + vertical-align: baseline; + white-space: nowrap; +} +.carousel { + background: #f8f9fa; + display: block; + overflow: hidden; + position: relative; + width: 100%; +} +.carousel .carousel-container { + height: 100%; + left: 0; + position: relative; +} +.carousel .carousel-container::before { + content: ""; + display: block; + padding-bottom: 56.25%; +} +.carousel .carousel-container .carousel-item { + animation: carousel-slideout 1s ease-in-out 1; + height: 100%; + left: 0; + margin: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; +} +.carousel .carousel-container .carousel-item:hover .item-prev, +.carousel .carousel-container .carousel-item:hover .item-next { + opacity: 1; +} +.carousel .carousel-container .item-prev, +.carousel .carousel-container .item-next { + background: rgba(231, 233, 237, 0.25); + border-color: rgba(231, 233, 237, 0.5); + color: #e7e9ed; + opacity: 0; + position: absolute; + top: 50%; + transition: all 0.4s ease; + transform: translateY(-50%); + z-index: 200; +} +.carousel .carousel-container .item-prev { + left: 1rem; +} +.carousel .carousel-container .item-next { + right: 1rem; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) { + animation: carousel-slidein 0.75s ease-in-out 1; + opacity: 1; + z-index: 100; +} +.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), +.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), +.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), +.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) { + color: #e7e9ed; +} +.carousel .carousel-nav { + bottom: 0.4rem; + display: flex; + justify-content: center; + left: 50%; + position: absolute; + transform: translateX(-50%); + width: 10rem; + z-index: 200; +} +.carousel .carousel-nav .nav-item { + color: rgba(231, 233, 237, 0.5); + display: block; + flex: 1 0 auto; + height: 1.6rem; + margin: 0.2rem; + max-width: 2.5rem; + position: relative; +} +.carousel .carousel-nav .nav-item::before { + background: currentColor; + content: ""; + display: block; + height: 0.1rem; + position: absolute; + top: 0.5rem; + width: 100%; +} +@keyframes carousel-slidein { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} +@keyframes carousel-slideout { + 0% { + opacity: 1; + transform: translateX(0); + } + 100% { + opacity: 1; + transform: translateX(-50%); + } +} +.comparison-slider { + height: 50vh; + overflow: hidden; + position: relative; + width: 100%; +} +.comparison-slider .comparison-before, +.comparison-slider .comparison-after { + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; +} +.comparison-slider .comparison-before img, +.comparison-slider .comparison-after img { + height: 100%; + object-fit: none; + object-position: left center; + position: absolute; + width: 100%; +} +.comparison-slider .comparison-before { + width: 100%; + z-index: 1; +} +.comparison-slider .comparison-before .comparison-label { + right: 0.8rem; +} +.comparison-slider .comparison-after { + max-width: 100%; + min-width: 0; + z-index: 2; +} +.comparison-slider .comparison-after::before { + background: transparent; + content: ""; + cursor: default; + height: 100%; + left: 0; + position: absolute; + right: 0.8rem; + top: 0; + z-index: 1; +} +.comparison-slider .comparison-after::after { + background: currentColor; + border-radius: 50%; + box-shadow: 0 -5px, 0 5px; + color: #fff; + content: ""; + height: 3px; + position: absolute; + right: 0.4rem; + top: 50%; + transform: translate(50%, -50%); + width: 3px; +} +.comparison-slider .comparison-after .comparison-label { + left: 0.8rem; +} +.comparison-slider .comparison-resizer { + animation: first-run 1.5s 1 ease-in-out; + cursor: ew-resize; + height: 0.8rem; + left: 0; + max-width: 100%; + min-width: 0.8rem; + opacity: 0; + outline: none; + position: relative; + resize: horizontal; + top: 50%; + transform: translateY(-50%) scaleY(30); + width: 0; +} +.comparison-slider .comparison-label { + background: rgba(69, 77, 93, 0.5); + bottom: 0.8rem; + color: #fff; + padding: 0.2rem 0.4rem; + position: absolute; + user-select: none; +} +@keyframes first-run { + 0% { + width: 0; + } + 25% { + width: 2.4rem; + } + 50% { + width: 0.8rem; + } + 75% { + width: 1.2rem; + } + 100% { + width: 0; + } +} +.filter .filter-nav { + margin: 0.4rem 0; +} +.filter .filter-body { + display: flex; + flex-wrap: wrap; +} +.filter .filter-tag#tag-all:checked ~ .filter-nav .chip[for="tag-all"], +.filter .filter-tag#tag-action:checked ~ .filter-nav .chip[for="tag-action"], +.filter .filter-tag#tag-roleplaying:checked ~ .filter-nav .chip[for="tag-roleplaying"], +.filter .filter-tag#tag-shooter:checked ~ .filter-nav .chip[for="tag-shooter"], +.filter .filter-tag#tag-sports:checked ~ .filter-nav .chip[for="tag-sports"] { + background: #121212; + color: #fff; +} +.filter .filter-tag#tag-action:checked ~ .filter-body .column:not([data-tag~="tag-action"]), +.filter .filter-tag#tag-roleplaying:checked ~ .filter-body .column:not([data-tag~="tag-roleplaying"]), +.filter .filter-tag#tag-shooter:checked ~ .filter-body .column:not([data-tag~="tag-shooter"]), +.filter .filter-tag#tag-sports:checked ~ .filter-body .column:not([data-tag~="tag-sports"]) { + display: none; +} +.meter { + appearance: none; + background: #f8f9fa; + border: 0; + border-radius: 0.1rem; + display: block; + width: 100%; + height: 0.8rem; +} +.meter::-webkit-meter-inner-element { + display: block; +} +.meter::-webkit-meter-bar, +.meter::-webkit-meter-optimum-value, +.meter::-webkit-meter-suboptimum-value, +.meter::-webkit-meter-even-less-good-value { + border-radius: 0.1rem; +} +.meter::-webkit-meter-bar { + background: #f8f9fa; +} +.meter::-webkit-meter-optimum-value { + background: #32b643; +} +.meter::-webkit-meter-suboptimum-value { + background: #ffb700; +} +.meter::-webkit-meter-even-less-good-value { + background: #e85600; +} +.meter::-moz-meter-bar, +.meter:-moz-meter-optimum, +.meter:-moz-meter-sub-optimum, +.meter:-moz-meter-sub-sub-optimum { + border-radius: 0.1rem; +} +.meter:-moz-meter-optimum::-moz-meter-bar { + background: #32b643; +} +.meter:-moz-meter-sub-optimum::-moz-meter-bar { + background: #ffb700; +} +.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { + background: #e85600; +} +.parallax { + display: block; + height: auto; + position: relative; + width: auto; +} +.parallax .parallax-content { + height: auto; + box-shadow: 0 1rem 2.1rem rgba(69, 77, 93, 0.3); + transform: perspective(1000px); + transform-style: preserve-3d; + transition: all 0.4s ease; + width: 100%; +} +.parallax .parallax-content::before { + content: ""; + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.parallax .parallax-front { + align-items: center; + color: #fff; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + text-shadow: 0 0 20px rgba(69, 77, 93, 0.5); + top: 0; + transform: translateZ(100px) scale(0.9); + transition: all 0.4s ease; + width: 100%; + z-index: 1; +} +.parallax .parallax-top-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + left: 0; + top: 0; +} +.parallax .parallax-top-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(3deg); +} +.parallax .parallax-top-left:hover ~ .parallax-content::before { + background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-top-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + right: 0; + top: 0; +} +.parallax .parallax-top-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg); +} +.parallax .parallax-top-right:hover ~ .parallax-content::before { + background: linear-gradient(-135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-top-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, -6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-left { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + left: 0; +} +.parallax .parallax-bottom-left:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(3deg); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content::before { + background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front { + transform: translate3d(-6.5px, 6.5px, 100px) scale(0.9); +} +.parallax .parallax-bottom-right { + height: 50%; + position: absolute; + width: 50%; + z-index: 300; + bottom: 0; + right: 0; +} +.parallax .parallax-bottom-right:hover ~ .parallax-content { + transform: perspective(1000px) rotateX(3deg) rotateY(-3deg); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content::before { + background: linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); +} +.parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front { + transform: translate3d(6.5px, 6.5px, 100px) scale(0.9); +} +.progress { + appearance: none; + background: #f0f1f4; + border: 0; + border-radius: 0.1rem; + color: #121212; + height: 0.2rem; + position: relative; + width: 100%; +} +.progress::-webkit-progress-bar { + background: transparent; + border-radius: 0.1rem; +} +.progress::-webkit-progress-value { + background: #121212; + border-radius: 0.1rem; +} +.progress::-moz-progress-bar { + background: #121212; + border-radius: 0.1rem; +} +.progress:indeterminate { + animation: progress-indeterminate 1.5s linear infinite; + background: #f0f1f4 linear-gradient(to right, #121212 30%, #f0f1f4 30%) top left / 150% 150% no-repeat; +} +.progress:indeterminate::-moz-progress-bar { + background: transparent; +} +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} +.slider { + appearance: none; + background: transparent; + display: block; + width: 100%; + height: 1.2rem; +} +.slider:focus { + box-shadow: 0 0 0 0.1rem rgba(18, 18, 18, 0.2); + outline: none; +} +.slider::-webkit-slider-thumb { + -webkit-appearance: none; + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + margin-top: -0.25rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-moz-range-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider::-ms-thumb { + background: #121212; + border: 0; + border-radius: 50%; + height: 0.6rem; + transition: transform 0.2s ease; + width: 0.6rem; +} +.slider:active::-webkit-slider-thumb { + transform: scale(1.25); +} +.slider:active::-moz-range-thumb { + transform: scale(1.25); +} +.slider:active::-ms-thumb { + transform: scale(1.25); +} +.slider:disabled::-webkit-slider-thumb, +.slider.disabled::-webkit-slider-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-moz-range-thumb, +.slider.disabled::-moz-range-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider:disabled::-ms-thumb, +.slider.disabled::-ms-thumb { + background: #e7e9ed; + transform: scale(1); +} +.slider::-webkit-slider-runnable-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-moz-range-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-track { + background: #f0f1f4; + border-radius: 0.1rem; + height: 0.1rem; + width: 100%; +} +.slider::-ms-fill-lower { + background: #121212; +} +.timeline .timeline-item { + display: flex; + margin-bottom: 1.2rem; + position: relative; +} +.timeline .timeline-item::before { + background: #e7e9ed; + content: ""; + height: 100%; + left: 11px; + position: absolute; + top: 1.2rem; + width: 2px; +} +.timeline .timeline-item .timeline-left { + flex: 0 0 auto; +} +.timeline .timeline-item .timeline-content { + flex: 1 1 auto; + padding: 2px 0 2px 0.8rem; +} +.timeline .timeline-item .timeline-icon { + border-radius: 50%; + color: #fff; + display: block; + height: 1.2rem; + text-align: center; + width: 1.2rem; +} +.timeline .timeline-item .timeline-icon::before { + border: 0.1rem solid #121212; + border-radius: 50%; + content: ""; + display: block; + height: 0.4rem; + left: 0.4rem; + position: absolute; + top: 0.4rem; + width: 0.4rem; +} +.timeline .timeline-item .timeline-icon.icon-lg { + background: #121212; + font-size: 0.8rem; + line-height: 1rem; +} +.timeline .timeline-item .timeline-icon.icon-lg::before { + content: none; +} +/*! Spectre.css Icons | MIT License | github.com/picturepan2/spectre */ +.icon { + box-sizing: border-box; + display: inline-block; + font-size: inherit; + font-style: normal; + height: 1em; + position: relative; + text-indent: -9999px; + vertical-align: middle; + width: 1em; +} +.icon::before, +.icon::after { + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); +} +.icon-arrow-down::before, +.icon-arrow-left::before, +.icon-arrow-right::before, +.icon-arrow-up::before, +.icon-downward::before, +.icon-back::before, +.icon-forward::before, +.icon-upward::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.65em; + width: 0.65em; +} +.icon-arrow-down::before { + transform: translate(-50%, -75%) rotate(225deg); +} +.icon-arrow-left::before { + transform: translate(-25%, -50%) rotate(-45deg); +} +.icon-arrow-right::before { + transform: translate(-75%, -50%) rotate(135deg); +} +.icon-arrow-up::before { + transform: translate(-50%, -25%) rotate(45deg); +} +.icon-back::after, +.icon-forward::after { + background: currentColor; + content: ""; + height: 0.1rem; + width: 0.8em; +} +.icon-downward::after, +.icon-upward::after { + background: currentColor; + content: ""; + height: 0.8em; + width: 0.1rem; +} +.icon-back::after { + left: 55%; +} +.icon-back::before { + transform: translate(-50%, -50%) rotate(-45deg); +} +.icon-downward::after { + top: 45%; +} +.icon-downward::before { + transform: translate(-50%, -50%) rotate(-135deg); +} +.icon-forward::after { + left: 45%; +} +.icon-forward::before { + transform: translate(-50%, -50%) rotate(135deg); +} +.icon-upward::after { + top: 55%; +} +.icon-upward::before { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-caret::before { + border-top: 0.3em solid currentColor; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; + content: ""; + height: 0; + width: 0; + transform: translate(-50%, -25%); +} +.icon-menu::before { + background: currentColor; + box-shadow: 0 -0.35em, 0 0.35em; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-apps::before { + background: currentColor; + box-shadow: -0.35em -0.35em, -0.35em 0, -0.35em 0.35em, 0 -0.35em, 0 0.35em, 0.35em -0.35em, 0.35em 0, 0.35em 0.35em; + content: ""; + height: 3px; + width: 3px; +} +.icon-resize-horiz::before, +.icon-resize-vert::before, +.icon-resize-horiz::after, +.icon-resize-vert::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.45em; + width: 0.45em; +} +.icon-resize-horiz::before, +.icon-resize-vert::before { + transform: translate(-50%, -90%) rotate(45deg); +} +.icon-resize-horiz::after, +.icon-resize-vert::after { + transform: translate(-50%, -10%) rotate(225deg); +} +.icon-resize-horiz::before { + transform: translate(-90%, -50%) rotate(-45deg); +} +.icon-resize-horiz::after { + transform: translate(-10%, -50%) rotate(135deg); +} +.icon-more-horiz::before, +.icon-more-vert::before { + background: currentColor; + box-shadow: -0.4em 0, 0.4em 0; + border-radius: 50%; + content: ""; + height: 3px; + width: 3px; +} +.icon-more-vert::before { + box-shadow: 0 -0.4em, 0 0.4em; +} +.icon-plus::before, +.icon-minus::before, +.icon-cross::before { + background: currentColor; + content: ""; + height: 0.1rem; + width: 100%; +} +.icon-plus::after, +.icon-cross::after { + background: currentColor; + content: ""; + height: 100%; + width: 0.1rem; +} +.icon-cross::before { + width: 100%; +} +.icon-cross::after { + height: 100%; +} +.icon-cross::before, +.icon-cross::after { + transform: translate(-50%, -50%) rotate(45deg); +} +.icon-check::before { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + width: 0.9em; + transform: translate(-50%, -75%) rotate(-45deg); +} +.icon-stop { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-stop::before { + background: currentColor; + content: ""; + height: 0.1rem; + transform: translate(-50%, -50%) rotate(45deg); + width: 1em; +} +.icon-shutdown { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-top-color: transparent; +} +.icon-shutdown::before { + background: currentColor; + content: ""; + height: 0.5em; + top: 0.1em; + width: 0.1rem; +} +.icon-refresh::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 1em; + width: 1em; +} +.icon-refresh::after { + border: 0.2em solid currentColor; + border-top-color: transparent; + border-left-color: transparent; + content: ""; + height: 0; + left: 80%; + top: 20%; + width: 0; +} +.icon-search::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.75em; + left: 5%; + top: 5%; + transform: translate(0, 0) rotate(45deg); + width: 0.75em; +} +.icon-search::after { + background: currentColor; + content: ""; + height: 0.1rem; + left: 80%; + top: 80%; + transform: translate(-50%, -50%) rotate(45deg); + width: 0.4em; +} +.icon-edit::before { + border: 0.1rem solid currentColor; + content: ""; + height: 0.4em; + transform: translate(-40%, -60%) rotate(-45deg); + width: 0.85em; +} +.icon-edit::after { + border: 0.15em solid currentColor; + border-top-color: transparent; + border-right-color: transparent; + content: ""; + height: 0; + left: 5%; + top: 95%; + transform: translate(0, -100%); + width: 0; +} +.icon-delete::before { + border: 0.1rem solid currentColor; + border-bottom-left-radius: 0.1rem; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.75em; + top: 60%; + width: 0.75em; +} +.icon-delete::after { + background: currentColor; + box-shadow: -0.25em 0.2em, 0.25em 0.2em; + content: ""; + height: 0.1rem; + top: 0.05rem; + width: 0.5em; +} +.icon-share { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + border-right: 0; + border-top: 0; +} +.icon-share::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-top: 0; + content: ""; + height: 0.4em; + left: 100%; + top: 0.25em; + transform: translate(-125%, -50%) rotate(-45deg); + width: 0.4em; +} +.icon-share::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + border-radius: 75% 0; + content: ""; + height: 0.5em; + width: 0.6em; +} +.icon-flag::before { + background: currentColor; + content: ""; + height: 1em; + left: 15%; + width: 0.1rem; +} +.icon-flag::after { + border: 0.1rem solid currentColor; + border-bottom-right-radius: 0.1rem; + border-left: 0; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.65em; + top: 35%; + left: 60%; + width: 0.8em; +} +.icon-bookmark::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + content: ""; + height: 0.9em; + width: 0.8em; +} +.icon-bookmark::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + border-radius: 0.1rem; + content: ""; + height: 0.5em; + transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); + width: 0.5em; +} +.icon-download, +.icon-upload { + border-bottom: 0.1rem solid currentColor; +} +.icon-download::before, +.icon-upload::before { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.5em; + transform: translate(-50%, -60%) rotate(-135deg); +} +.icon-download::after, +.icon-upload::after { + background: currentColor; + content: ""; + height: 0.6em; + top: 40%; + width: 0.1rem; +} +.icon-upload::before { + transform: translate(-50%, -60%) rotate(45deg); +} +.icon-upload::after { + top: 50%; +} +.icon-time { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-time::before { + background: currentColor; + content: ""; + height: 0.4em; + transform: translate(-50%, -75%); + width: 0.1rem; +} +.icon-time::after { + background: currentColor; + content: ""; + height: 0.3em; + transform: translate(-50%, -75%) rotate(90deg); + transform-origin: 50% 90%; + width: 0.1rem; +} +.icon-mail::before { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.8em; + width: 1em; +} +.icon-mail::after { + border: 0.1rem solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: 0.5em; + transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); + width: 0.5em; +} +.icon-people::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.45em; + top: 25%; + width: 0.45em; +} +.icon-people::after { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 0 0; + content: ""; + height: 0.4em; + top: 75%; + width: 0.9em; +} +.icon-message { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-radius: 0.1rem; + border-right: 0; +} +.icon-message::before { + border: 0.1rem solid currentColor; + border-left: 0; + border-bottom-right-radius: 0.1rem; + border-top: 0; + content: ""; + height: 0.8em; + left: 65%; + top: 40%; + width: 0.7em; +} +.icon-message::after { + background: currentColor; + border-radius: 0.1rem; + content: ""; + height: 0.3em; + left: 10%; + top: 100%; + transform: translate(0, -90%) rotate(45deg); + width: 0.1rem; +} +.icon-photo { + border: 0.1rem solid currentColor; + border-radius: 0.1rem; +} +.icon-photo::before { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.25em; + left: 35%; + top: 35%; + width: 0.25em; +} +.icon-photo::after { + border: 0.1rem solid currentColor; + border-bottom: 0; + border-left: 0; + content: ""; + height: 0.5em; + left: 60%; + transform: translate(-50%, 25%) rotate(-45deg); + width: 0.5em; +} +.icon-link::before, +.icon-link::after { + border: 0.1rem solid currentColor; + border-radius: 5em 0 0 5em; + border-right: 0; + content: ""; + height: 0.5em; + width: 0.75em; +} +.icon-link::before { + transform: translate(-70%, -45%) rotate(-45deg); +} +.icon-link::after { + transform: translate(-30%, -55%) rotate(135deg); +} +.icon-location::before { + border: 0.1rem solid currentColor; + border-radius: 50% 50% 50% 0; + content: ""; + height: 0.8em; + transform: translate(-50%, -60%) rotate(-45deg); + width: 0.8em; +} +.icon-location::after { + border: 0.1rem solid currentColor; + border-radius: 50%; + content: ""; + height: 0.2em; + transform: translate(-50%, -80%); + width: 0.2em; +} +.icon-emoji { + border: 0.1rem solid currentColor; + border-radius: 50%; +} +.icon-emoji::before { + border-radius: 50%; + box-shadow: -0.17em -0.15em, 0.17em -0.15em; + content: ""; + height: 0.1em; + width: 0.1em; +} +.icon-emoji::after { + border: 0.1rem solid currentColor; + border-bottom-color: transparent; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 0.5em; + transform: translate(-50%, -40%) rotate(-135deg); + width: 0.5em; +} +.accordion .icon, +.btn .icon, +.toast .icon, +.menu .icon { + vertical-align: -10%; +} +@font-face { + font-family: backset; + src: url(d56def2696eccccc8cc0.woff); +} +* { + box-sizing: border-box; +} +html, +body { + margin: 0; + padding: 0; +} +.container { + width: 1120px; + margin: 0 auto; +} +a:hover { + text-decoration: none; +} +a:focus { + text-decoration: none; + box-shadow: none; +} +.navbar { + height: 2.4rem; +} +.navbar .navbar-section a { + display: flex; + align-items: center; +} +.navbar .navbar-section a img { + width: 1.2rem; +} +.navbar .navbar-section a span { + font-family: backset; + font-size: 1.2em; + padding-left: 0.5em; + color: #121212; +} +.slogan { + padding-top: 4rem; + text-align: center; +} +.slogan img { + width: 5rem; + height: 5rem; +} + diff --git a/apps/server/public/signup.js b/apps/server/public/signup.js new file mode 100644 index 0000000..1a2b770 --- /dev/null +++ b/apps/server/public/signup.js @@ -0,0 +1,526 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js": +/*!*************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js ***! + \*************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js\");\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js ***! + \************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar transitionalDefaults = __webpack_require__(/*! ../defaults/transitional */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js\");\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\nvar parseProtocol = __webpack_require__(/*! ../helpers/parseProtocol */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js": +/*!*****************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js ***! + \*****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js\");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = __webpack_require__(/*! ./cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js\");\naxios.VERSION = (__webpack_require__(/*! ./env/data */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js\").version);\naxios.toFormData = __webpack_require__(/*! ./helpers/toFormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js\");\n\n// Expose AxiosError class\naxios.AxiosError = __webpack_require__(/*! ../lib/core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js\");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports[\"default\"] = axios;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar CanceledError = __webpack_require__(/*! ./CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js": +/*!**********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js\");\nvar buildFullPath = __webpack_require__(/*! ./buildFullPath */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js\");\nvar validator = __webpack_require__(/*! ../helpers/validator */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js\");\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js ***! + \***************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js": +/*!***********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\nvar CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js\");\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js": +/*!****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js": +/*!***********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js ***! + \***********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar AxiosError = __webpack_require__(/*! ./AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js": +/*!**************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js ***! + \**************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ../helpers/normalizeHeaderName */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js\");\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\nvar transitionalDefaults = __webpack_require__(/*! ./transitional */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js\");\nvar toFormData = __webpack_require__(/*! ../helpers/toFormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ../adapters/xhr */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ../adapters/http */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js\");\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: __webpack_require__(/*! ./env/FormData */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js\")\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js": +/*!********************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js ***! + \********************************************************************************/ +/***/ ((module) => { + +eval("module.exports = {\n \"version\": \"0.27.2\"\n};\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js ***! + \************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js": +/*!****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js": +/*!*******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js": +/*!***************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js": +/*!***********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js": +/*!***************************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js ***! + \***************************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js": +/*!************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js ***! + \************************************************************************************/ +/***/ ((module) => { + +eval("// eslint-disable-next-line strict\nmodule.exports = null;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/null.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js": +/*!********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js": +/*!*********************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js ***! + \*********************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js": +/*!**************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js": +/*!******************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js ***! + \******************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js\");\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar VERSION = (__webpack_require__(/*! ../env/data */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js\").version);\nvar AxiosError = __webpack_require__(/*! ../core/AxiosError */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js\");\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js": +/*!*****************************************************************************!*\ + !*** ../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js ***! + \*****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/encrypt.js": +/*!*******************************************!*\ + !*** ../../packages/util/dist/encrypt.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.md5 = void 0;\nvar hash = __webpack_require__(/*! object-hash */ \"../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js\");\nvar md5 = function (text) {\n return hash(text, {\n algorithm: \"md5\"\n });\n};\nexports.md5 = md5;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/encrypt.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/index.js": +/*!*****************************************!*\ + !*** ../../packages/util/dist/index.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RegUtil = exports.ValidateUtil = exports.EncryptUtil = void 0;\nvar EncryptUtil = __webpack_require__(/*! ./encrypt */ \"../../packages/util/dist/encrypt.js\");\nexports.EncryptUtil = EncryptUtil;\nvar ValidateUtil = __webpack_require__(/*! ./validate */ \"../../packages/util/dist/validate.js\");\nexports.ValidateUtil = ValidateUtil;\nvar RegUtil = __webpack_require__(/*! ./reg */ \"../../packages/util/dist/reg.js\");\nexports.RegUtil = RegUtil;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/index.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/reg.js": +/*!***************************************!*\ + !*** ../../packages/util/dist/reg.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PHONE = void 0;\n/**\n * 手机号正则[常用]\n */\nexports.PHONE = /^1[3456789]\\d{9}$/;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/reg.js?"); + +/***/ }), + +/***/ "../../packages/util/dist/validate.js": +/*!********************************************!*\ + !*** ../../packages/util/dist/validate.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.withEmpty = void 0;\n/**\n * 检测对象是否存在空 value\n * @param {Object} obj 检测的对象\n */\nvar withEmpty = function (obj) {\n return Object.values(obj).some(function (v) {\n return !v;\n });\n};\nexports.withEmpty = withEmpty;\n\n//# sourceURL=webpack://@backset/server/../../packages/util/dist/validate.js?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js": +/*!**********************************************************************************!*\ + !*** ../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js ***! + \**********************************************************************************/ +/***/ ((module) => { + +eval("(function(){\n\"use strict\";\nvar doc = document;\nvar win = window;\nvar docEle = doc.documentElement;\nvar createElement = doc.createElement.bind(doc);\nvar div = createElement('div');\nvar table = createElement('table');\nvar tbody = createElement('tbody');\nvar tr = createElement('tr');\nvar isArray = Array.isArray, ArrayPrototype = Array.prototype;\nvar concat = ArrayPrototype.concat, filter = ArrayPrototype.filter, indexOf = ArrayPrototype.indexOf, map = ArrayPrototype.map, push = ArrayPrototype.push, slice = ArrayPrototype.slice, some = ArrayPrototype.some, splice = ArrayPrototype.splice;\nvar idRe = /^#(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nvar classRe = /^\\.(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nvar htmlRe = /<.+>/;\nvar tagRe = /^\\w+$/;\n// @require ./variables.ts\nfunction find(selector, context) {\n var isFragment = isDocumentFragment(context);\n return !selector || (!isFragment && !isDocument(context) && !isElement(context))\n ? []\n : !isFragment && classRe.test(selector)\n ? context.getElementsByClassName(selector.slice(1).replace(/\\\\/g, ''))\n : !isFragment && tagRe.test(selector)\n ? context.getElementsByTagName(selector)\n : context.querySelectorAll(selector);\n}\n// @require ./find.ts\n// @require ./variables.ts\nvar Cash = /** @class */ (function () {\n function Cash(selector, context) {\n if (!selector)\n return;\n if (isCash(selector))\n return selector;\n var eles = selector;\n if (isString(selector)) {\n var ctx = (isCash(context) ? context[0] : context) || doc;\n eles = idRe.test(selector) && 'getElementById' in ctx\n ? ctx.getElementById(selector.slice(1).replace(/\\\\/g, ''))\n : htmlRe.test(selector)\n ? parseHTML(selector)\n : find(selector, ctx);\n if (!eles)\n return;\n }\n else if (isFunction(selector)) {\n return this.ready(selector); //FIXME: `fn.ready` is not included in `core`, but it's actually a core functionality\n }\n if (eles.nodeType || eles === win)\n eles = [eles];\n this.length = eles.length;\n for (var i = 0, l = this.length; i < l; i++) {\n this[i] = eles[i];\n }\n }\n Cash.prototype.init = function (selector, context) {\n return new Cash(selector, context);\n };\n return Cash;\n}());\nvar fn = Cash.prototype;\nvar cash = fn.init;\ncash.fn = cash.prototype = fn; // Ensuring that `cash () instanceof cash`\nfn.length = 0;\nfn.splice = splice; // Ensuring a cash collection gets printed as array-like in Chrome's devtools\nif (typeof Symbol === 'function') { // Ensuring a cash collection is iterable\n fn[Symbol['iterator']] = ArrayPrototype[Symbol['iterator']];\n}\nfunction isCash(value) {\n return value instanceof Cash;\n}\nfunction isWindow(value) {\n return !!value && value === value.window;\n}\nfunction isDocument(value) {\n return !!value && value.nodeType === 9;\n}\nfunction isDocumentFragment(value) {\n return !!value && value.nodeType === 11;\n}\nfunction isElement(value) {\n return !!value && value.nodeType === 1;\n}\nfunction isText(value) {\n return !!value && value.nodeType === 3;\n}\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction isUndefined(value) {\n return value === undefined;\n}\nfunction isNull(value) {\n return value === null;\n}\nfunction isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n}\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null)\n return false;\n var proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype;\n}\ncash.isWindow = isWindow;\ncash.isFunction = isFunction;\ncash.isArray = isArray;\ncash.isNumeric = isNumeric;\ncash.isPlainObject = isPlainObject;\nfunction each(arr, callback, _reverse) {\n if (_reverse) {\n var i = arr.length;\n while (i--) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n else if (isPlainObject(arr)) {\n var keys = Object.keys(arr);\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n if (callback.call(arr[key], key, arr[key]) === false)\n return arr;\n }\n }\n else {\n for (var i = 0, l = arr.length; i < l; i++) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n return arr;\n}\ncash.each = each;\nfn.each = function (callback) {\n return each(this, callback);\n};\nfn.empty = function () {\n return this.each(function (i, ele) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild);\n }\n });\n};\nfunction extend() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var deep = isBoolean(sources[0]) ? sources.shift() : false;\n var target = sources.shift();\n var length = sources.length;\n if (!target)\n return {};\n if (!length)\n return extend(deep, cash, target);\n for (var i = 0; i < length; i++) {\n var source = sources[i];\n for (var key in source) {\n if (deep && (isArray(source[key]) || isPlainObject(source[key]))) {\n if (!target[key] || target[key].constructor !== source[key].constructor)\n target[key] = new source[key].constructor();\n extend(deep, target[key], source[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n }\n return target;\n}\ncash.extend = extend;\nfn.extend = function (plugins) {\n return extend(fn, plugins);\n};\n// @require ./type_checking.ts\nvar splitValuesRe = /\\S+/g;\nfunction getSplitValues(str) {\n return isString(str) ? str.match(splitValuesRe) || [] : [];\n}\nfn.toggleClass = function (cls, force) {\n var classes = getSplitValues(cls);\n var isForce = !isUndefined(force);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n each(classes, function (i, c) {\n if (isForce) {\n force ? ele.classList.add(c) : ele.classList.remove(c);\n }\n else {\n ele.classList.toggle(c);\n }\n });\n });\n};\nfn.addClass = function (cls) {\n return this.toggleClass(cls, true);\n};\nfn.removeAttr = function (attr) {\n var attrs = getSplitValues(attr);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n each(attrs, function (i, a) {\n ele.removeAttribute(a);\n });\n });\n};\nfunction attr(attr, value) {\n if (!attr)\n return;\n if (isString(attr)) {\n if (arguments.length < 2) {\n if (!this[0] || !isElement(this[0]))\n return;\n var value_1 = this[0].getAttribute(attr);\n return isNull(value_1) ? undefined : value_1;\n }\n if (isUndefined(value))\n return this;\n if (isNull(value))\n return this.removeAttr(attr);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n ele.setAttribute(attr, value);\n });\n }\n for (var key in attr) {\n this.attr(key, attr[key]);\n }\n return this;\n}\nfn.attr = attr;\nfn.removeClass = function (cls) {\n if (arguments.length)\n return this.toggleClass(cls, false);\n return this.attr('class', '');\n};\nfn.hasClass = function (cls) {\n return !!cls && some.call(this, function (ele) { return isElement(ele) && ele.classList.contains(cls); });\n};\nfn.get = function (index) {\n if (isUndefined(index))\n return slice.call(this);\n index = Number(index);\n return this[index < 0 ? index + this.length : index];\n};\nfn.eq = function (index) {\n return cash(this.get(index));\n};\nfn.first = function () {\n return this.eq(0);\n};\nfn.last = function () {\n return this.eq(-1);\n};\nfunction text(text) {\n if (isUndefined(text)) {\n return this.get().map(function (ele) { return isElement(ele) || isText(ele) ? ele.textContent : ''; }).join('');\n }\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n ele.textContent = text;\n });\n}\nfn.text = text;\n// @require core/type_checking.ts\n// @require core/variables.ts\nfunction computeStyle(ele, prop, isVariable) {\n if (!isElement(ele))\n return;\n var style = win.getComputedStyle(ele, null);\n return isVariable ? style.getPropertyValue(prop) || undefined : style[prop] || ele.style[prop];\n}\n// @require ./compute_style.ts\nfunction computeStyleInt(ele, prop) {\n return parseInt(computeStyle(ele, prop), 10) || 0;\n}\n// @require css/helpers/compute_style_int.ts\nfunction getExtraSpace(ele, xAxis) {\n return computeStyleInt(ele, \"border\".concat(xAxis ? 'Left' : 'Top', \"Width\")) + computeStyleInt(ele, \"padding\".concat(xAxis ? 'Left' : 'Top')) + computeStyleInt(ele, \"padding\".concat(xAxis ? 'Right' : 'Bottom')) + computeStyleInt(ele, \"border\".concat(xAxis ? 'Right' : 'Bottom', \"Width\"));\n}\n// @require css/helpers/compute_style.ts\nvar defaultDisplay = {};\nfunction getDefaultDisplay(tagName) {\n if (defaultDisplay[tagName])\n return defaultDisplay[tagName];\n var ele = createElement(tagName);\n doc.body.insertBefore(ele, null);\n var display = computeStyle(ele, 'display');\n doc.body.removeChild(ele);\n return defaultDisplay[tagName] = display !== 'none' ? display : 'block';\n}\n// @require css/helpers/compute_style.ts\nfunction isHidden(ele) {\n return computeStyle(ele, 'display') === 'none';\n}\n// @require ./cash.ts\nfunction matches(ele, selector) {\n var matches = ele && (ele['matches'] || ele['webkitMatchesSelector'] || ele['msMatchesSelector']);\n return !!matches && !!selector && matches.call(ele, selector);\n}\n// @require ./matches.ts\n// @require ./type_checking.ts\nfunction getCompareFunction(comparator) {\n return isString(comparator)\n ? function (i, ele) { return matches(ele, comparator); }\n : isFunction(comparator)\n ? comparator\n : isCash(comparator)\n ? function (i, ele) { return comparator.is(ele); }\n : !comparator\n ? function () { return false; }\n : function (i, ele) { return ele === comparator; };\n}\nfn.filter = function (comparator) {\n var compare = getCompareFunction(comparator);\n return cash(filter.call(this, function (ele, i) { return compare.call(ele, i, ele); }));\n};\n// @require collection/filter.ts\nfunction filtered(collection, comparator) {\n return !comparator ? collection : collection.filter(comparator);\n}\nfn.detach = function (comparator) {\n filtered(this, comparator).each(function (i, ele) {\n if (ele.parentNode) {\n ele.parentNode.removeChild(ele);\n }\n });\n return this;\n};\nvar fragmentRe = /^\\s*<(\\w+)[^>]*>/;\nvar singleTagRe = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/;\nvar containers = {\n '*': div,\n tr: tbody,\n td: tr,\n th: tr,\n thead: table,\n tbody: table,\n tfoot: table\n};\n//TODO: Create elements inside a document fragment, in order to prevent inline event handlers from firing\n//TODO: Ensure the created elements have the fragment as their parent instead of null, this also ensures we can deal with detatched nodes more reliably\nfunction parseHTML(html) {\n if (!isString(html))\n return [];\n if (singleTagRe.test(html))\n return [createElement(RegExp.$1)];\n var fragment = fragmentRe.test(html) && RegExp.$1;\n var container = containers[fragment] || containers['*'];\n container.innerHTML = html;\n return cash(container.childNodes).detach().get();\n}\ncash.parseHTML = parseHTML;\nfn.has = function (selector) {\n var comparator = isString(selector)\n ? function (i, ele) { return find(selector, ele).length; }\n : function (i, ele) { return ele.contains(selector); };\n return this.filter(comparator);\n};\nfn.not = function (comparator) {\n var compare = getCompareFunction(comparator);\n return this.filter(function (i, ele) { return (!isString(comparator) || isElement(ele)) && !compare.call(ele, i, ele); });\n};\nfunction pluck(arr, prop, deep, until) {\n var plucked = [];\n var isCallback = isFunction(prop);\n var compare = until && getCompareFunction(until);\n for (var i = 0, l = arr.length; i < l; i++) {\n if (isCallback) {\n var val_1 = prop(arr[i]);\n if (val_1.length)\n push.apply(plucked, val_1);\n }\n else {\n var val_2 = arr[i][prop];\n while (val_2 != null) {\n if (until && compare(-1, val_2))\n break;\n plucked.push(val_2);\n val_2 = deep ? val_2[prop] : null;\n }\n }\n }\n return plucked;\n}\n// @require core/pluck.ts\n// @require core/variables.ts\nfunction getValue(ele) {\n if (ele.multiple && ele.options)\n return pluck(filter.call(ele.options, function (option) { return option.selected && !option.disabled && !option.parentNode.disabled; }), 'value');\n return ele.value || '';\n}\nfunction val(value) {\n if (!arguments.length)\n return this[0] && getValue(this[0]);\n return this.each(function (i, ele) {\n var isSelect = ele.multiple && ele.options;\n if (isSelect || checkableRe.test(ele.type)) {\n var eleValue_1 = isArray(value) ? map.call(value, String) : (isNull(value) ? [] : [String(value)]);\n if (isSelect) {\n each(ele.options, function (i, option) {\n option.selected = eleValue_1.indexOf(option.value) >= 0;\n }, true);\n }\n else {\n ele.checked = eleValue_1.indexOf(ele.value) >= 0;\n }\n }\n else {\n ele.value = isUndefined(value) || isNull(value) ? '' : value;\n }\n });\n}\nfn.val = val;\nfn.is = function (comparator) {\n var compare = getCompareFunction(comparator);\n return some.call(this, function (ele, i) { return compare.call(ele, i, ele); });\n};\ncash.guid = 1;\nfunction unique(arr) {\n return arr.length > 1 ? filter.call(arr, function (item, index, self) { return indexOf.call(self, item) === index; }) : arr;\n}\ncash.unique = unique;\nfn.add = function (selector, context) {\n return cash(unique(this.get().concat(cash(selector, context).get())));\n};\nfn.children = function (comparator) {\n return filtered(cash(unique(pluck(this, function (ele) { return ele.children; }))), comparator);\n};\nfn.parent = function (comparator) {\n return filtered(cash(unique(pluck(this, 'parentNode'))), comparator);\n};\nfn.index = function (selector) {\n var child = selector ? cash(selector)[0] : this[0];\n var collection = selector ? this : cash(child).parent().children();\n return indexOf.call(collection, child);\n};\nfn.closest = function (comparator) {\n var filtered = this.filter(comparator);\n if (filtered.length)\n return filtered;\n var $parent = this.parent();\n if (!$parent.length)\n return filtered;\n return $parent.closest(comparator);\n};\nfn.siblings = function (comparator) {\n return filtered(cash(unique(pluck(this, function (ele) { return cash(ele).parent().children().not(ele); }))), comparator);\n};\nfn.find = function (selector) {\n return cash(unique(pluck(this, function (ele) { return find(selector, ele); })));\n};\n// @require core/variables.ts\n// @require collection/filter.ts\n// @require traversal/find.ts\nvar HTMLCDATARe = /^\\s*\\s*$/g;\nvar scriptTypeRe = /^$|^module$|\\/(java|ecma)script/i;\nvar scriptAttributes = ['type', 'src', 'nonce', 'noModule'];\nfunction evalScripts(node, doc) {\n var collection = cash(node);\n collection.filter('script').add(collection.find('script')).each(function (i, ele) {\n if (scriptTypeRe.test(ele.type) && docEle.contains(ele)) { // The script type is supported // The element is attached to the DOM // Using `documentElement` for broader browser support\n var script_1 = createElement('script');\n script_1.text = ele.textContent.replace(HTMLCDATARe, '');\n each(scriptAttributes, function (i, attr) {\n if (ele[attr])\n script_1[attr] = ele[attr];\n });\n doc.head.insertBefore(script_1, null);\n doc.head.removeChild(script_1);\n }\n });\n}\n// @require ./eval_scripts.ts\nfunction insertElement(anchor, target, left, inside, evaluate) {\n if (inside) { // prepend/append\n anchor.insertBefore(target, left ? anchor.firstChild : null);\n }\n else { // before/after\n if (anchor.nodeName === 'HTML') {\n anchor.parentNode.replaceChild(target, anchor);\n }\n else {\n anchor.parentNode.insertBefore(target, left ? anchor : anchor.nextSibling);\n }\n }\n if (evaluate) {\n evalScripts(target, anchor.ownerDocument);\n }\n}\n// @require ./insert_element.ts\nfunction insertSelectors(selectors, anchors, inverse, left, inside, reverseLoop1, reverseLoop2, reverseLoop3) {\n each(selectors, function (si, selector) {\n each(cash(selector), function (ti, target) {\n each(cash(anchors), function (ai, anchor) {\n var anchorFinal = inverse ? target : anchor;\n var targetFinal = inverse ? anchor : target;\n var indexFinal = inverse ? ti : ai;\n insertElement(anchorFinal, !indexFinal ? targetFinal : targetFinal.cloneNode(true), left, inside, !indexFinal);\n }, reverseLoop3);\n }, reverseLoop2);\n }, reverseLoop1);\n return anchors;\n}\nfn.after = function () {\n return insertSelectors(arguments, this, false, false, false, true, true);\n};\nfn.append = function () {\n return insertSelectors(arguments, this, false, false, true);\n};\nfunction html(html) {\n if (!arguments.length)\n return this[0] && this[0].innerHTML;\n if (isUndefined(html))\n return this;\n var hasScript = /]/.test(html);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n if (hasScript) {\n cash(ele).empty().append(html);\n }\n else {\n ele.innerHTML = html;\n }\n });\n}\nfn.html = html;\nfn.appendTo = function (selector) {\n return insertSelectors(arguments, this, true, false, true);\n};\nfn.wrapInner = function (selector) {\n return this.each(function (i, ele) {\n var $ele = cash(ele);\n var contents = $ele.contents();\n contents.length ? contents.wrapAll(selector) : $ele.append(selector);\n });\n};\nfn.before = function () {\n return insertSelectors(arguments, this, false, true);\n};\nfn.wrapAll = function (selector) {\n var structure = cash(selector);\n var wrapper = structure[0];\n while (wrapper.children.length)\n wrapper = wrapper.firstElementChild;\n this.first().before(structure);\n return this.appendTo(wrapper);\n};\nfn.wrap = function (selector) {\n return this.each(function (i, ele) {\n var wrapper = cash(selector)[0];\n cash(ele).wrapAll(!i ? wrapper : wrapper.cloneNode(true));\n });\n};\nfn.insertAfter = function (selector) {\n return insertSelectors(arguments, this, true, false, false, false, false, true);\n};\nfn.insertBefore = function (selector) {\n return insertSelectors(arguments, this, true, true);\n};\nfn.prepend = function () {\n return insertSelectors(arguments, this, false, true, true, true, true);\n};\nfn.prependTo = function (selector) {\n return insertSelectors(arguments, this, true, true, true, false, false, true);\n};\nfn.contents = function () {\n return cash(unique(pluck(this, function (ele) { return ele.tagName === 'IFRAME' ? [ele.contentDocument] : (ele.tagName === 'TEMPLATE' ? ele.content.childNodes : ele.childNodes); })));\n};\nfn.next = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'nextElementSibling', _all, _until))), comparator);\n};\nfn.nextAll = function (comparator) {\n return this.next(comparator, true);\n};\nfn.nextUntil = function (until, comparator) {\n return this.next(comparator, true, until);\n};\nfn.parents = function (comparator, _until) {\n return filtered(cash(unique(pluck(this, 'parentElement', true, _until))), comparator);\n};\nfn.parentsUntil = function (until, comparator) {\n return this.parents(comparator, until);\n};\nfn.prev = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'previousElementSibling', _all, _until))), comparator);\n};\nfn.prevAll = function (comparator) {\n return this.prev(comparator, true);\n};\nfn.prevUntil = function (until, comparator) {\n return this.prev(comparator, true, until);\n};\nfn.map = function (callback) {\n return cash(concat.apply([], map.call(this, function (ele, i) { return callback.call(ele, i, ele); })));\n};\nfn.clone = function () {\n return this.map(function (i, ele) { return ele.cloneNode(true); });\n};\nfn.offsetParent = function () {\n return this.map(function (i, ele) {\n var offsetParent = ele.offsetParent;\n while (offsetParent && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || docEle;\n });\n};\nfn.slice = function (start, end) {\n return cash(slice.call(this, start, end));\n};\n// @require ./cash.ts\nvar dashAlphaRe = /-([a-z])/g;\nfunction camelCase(str) {\n return str.replace(dashAlphaRe, function (match, letter) { return letter.toUpperCase(); });\n}\nfn.ready = function (callback) {\n var cb = function () { return setTimeout(callback, 0, cash); };\n if (doc.readyState !== 'loading') {\n cb();\n }\n else {\n doc.addEventListener('DOMContentLoaded', cb);\n }\n return this;\n};\nfn.unwrap = function () {\n this.parent().each(function (i, ele) {\n if (ele.tagName === 'BODY')\n return;\n var $ele = cash(ele);\n $ele.replaceWith($ele.children());\n });\n return this;\n};\nfn.offset = function () {\n var ele = this[0];\n if (!ele)\n return;\n var rect = ele.getBoundingClientRect();\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n};\nfn.position = function () {\n var ele = this[0];\n if (!ele)\n return;\n var isFixed = (computeStyle(ele, 'position') === 'fixed');\n var offset = isFixed ? ele.getBoundingClientRect() : this.offset();\n if (!isFixed) {\n var doc_1 = ele.ownerDocument;\n var offsetParent = ele.offsetParent || doc_1.documentElement;\n while ((offsetParent === doc_1.body || offsetParent === doc_1.documentElement) && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent !== ele && isElement(offsetParent)) {\n var parentOffset = cash(offsetParent).offset();\n offset.top -= parentOffset.top + computeStyleInt(offsetParent, 'borderTopWidth');\n offset.left -= parentOffset.left + computeStyleInt(offsetParent, 'borderLeftWidth');\n }\n }\n return {\n top: offset.top - computeStyleInt(ele, 'marginTop'),\n left: offset.left - computeStyleInt(ele, 'marginLeft')\n };\n};\nvar propMap = {\n /* GENERAL */\n class: 'className',\n contenteditable: 'contentEditable',\n /* LABEL */\n for: 'htmlFor',\n /* INPUT */\n readonly: 'readOnly',\n maxlength: 'maxLength',\n tabindex: 'tabIndex',\n /* TABLE */\n colspan: 'colSpan',\n rowspan: 'rowSpan',\n /* IMAGE */\n usemap: 'useMap'\n};\nfn.prop = function (prop, value) {\n if (!prop)\n return;\n if (isString(prop)) {\n prop = propMap[prop] || prop;\n if (arguments.length < 2)\n return this[0] && this[0][prop];\n return this.each(function (i, ele) { ele[prop] = value; });\n }\n for (var key in prop) {\n this.prop(key, prop[key]);\n }\n return this;\n};\nfn.removeProp = function (prop) {\n return this.each(function (i, ele) { delete ele[propMap[prop] || prop]; });\n};\nvar cssVariableRe = /^--/;\n// @require ./variables.ts\nfunction isCSSVariable(prop) {\n return cssVariableRe.test(prop);\n}\n// @require core/camel_case.ts\n// @require core/cash.ts\n// @require core/each.ts\n// @require core/variables.ts\n// @require ./is_css_variable.ts\nvar prefixedProps = {};\nvar style = div.style;\nvar vendorsPrefixes = ['webkit', 'moz', 'ms'];\nfunction getPrefixedProp(prop, isVariable) {\n if (isVariable === void 0) { isVariable = isCSSVariable(prop); }\n if (isVariable)\n return prop;\n if (!prefixedProps[prop]) {\n var propCC = camelCase(prop);\n var propUC = \"\".concat(propCC[0].toUpperCase()).concat(propCC.slice(1));\n var props = (\"\".concat(propCC, \" \").concat(vendorsPrefixes.join(\"\".concat(propUC, \" \"))).concat(propUC)).split(' ');\n each(props, function (i, p) {\n if (p in style) {\n prefixedProps[prop] = p;\n return false;\n }\n });\n }\n return prefixedProps[prop];\n}\n// @require core/type_checking.ts\n// @require ./is_css_variable.ts\nvar numericProps = {\n animationIterationCount: true,\n columnCount: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n widows: true,\n zIndex: true\n};\nfunction getSuffixedValue(prop, value, isVariable) {\n if (isVariable === void 0) { isVariable = isCSSVariable(prop); }\n return !isVariable && !numericProps[prop] && isNumeric(value) ? \"\".concat(value, \"px\") : value;\n}\nfunction css(prop, value) {\n if (isString(prop)) {\n var isVariable_1 = isCSSVariable(prop);\n prop = getPrefixedProp(prop, isVariable_1);\n if (arguments.length < 2)\n return this[0] && computeStyle(this[0], prop, isVariable_1);\n if (!prop)\n return this;\n value = getSuffixedValue(prop, value, isVariable_1);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n if (isVariable_1) {\n ele.style.setProperty(prop, value);\n }\n else {\n ele.style[prop] = value;\n }\n });\n }\n for (var key in prop) {\n this.css(key, prop[key]);\n }\n return this;\n}\n;\nfn.css = css;\nfunction attempt(fn, arg) {\n try {\n return fn(arg);\n }\n catch (_a) {\n return arg;\n }\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nvar JSONStringRe = /^\\s+|\\s+$/;\nfunction getData(ele, key) {\n var value = ele.dataset[key] || ele.dataset[camelCase(key)];\n if (JSONStringRe.test(value))\n return value;\n return attempt(JSON.parse, value);\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nfunction setData(ele, key, value) {\n value = attempt(JSON.stringify, value);\n ele.dataset[camelCase(key)] = value;\n}\nfunction data(name, value) {\n if (!name) {\n if (!this[0])\n return;\n var datas = {};\n for (var key in this[0].dataset) {\n datas[key] = getData(this[0], key);\n }\n return datas;\n }\n if (isString(name)) {\n if (arguments.length < 2)\n return this[0] && getData(this[0], name);\n if (isUndefined(value))\n return this;\n return this.each(function (i, ele) { setData(ele, name, value); });\n }\n for (var key in name) {\n this.data(key, name[key]);\n }\n return this;\n}\nfn.data = data;\nfunction getDocumentDimension(doc, dimension) {\n var docEle = doc.documentElement;\n return Math.max(doc.body[\"scroll\".concat(dimension)], docEle[\"scroll\".concat(dimension)], doc.body[\"offset\".concat(dimension)], docEle[\"offset\".concat(dimension)], docEle[\"client\".concat(dimension)]);\n}\neach([true, false], function (i, outer) {\n each(['Width', 'Height'], function (i, prop) {\n var name = \"\".concat(outer ? 'outer' : 'inner').concat(prop);\n fn[name] = function (includeMargins) {\n if (!this[0])\n return;\n if (isWindow(this[0]))\n return outer ? this[0][\"inner\".concat(prop)] : this[0].document.documentElement[\"client\".concat(prop)];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0][\"\".concat(outer ? 'offset' : 'client').concat(prop)] + (includeMargins && outer ? computeStyleInt(this[0], \"margin\".concat(i ? 'Top' : 'Left')) + computeStyleInt(this[0], \"margin\".concat(i ? 'Bottom' : 'Right')) : 0);\n };\n });\n});\neach(['Width', 'Height'], function (index, prop) {\n var propLC = prop.toLowerCase();\n fn[propLC] = function (value) {\n if (!this[0])\n return isUndefined(value) ? undefined : this;\n if (!arguments.length) {\n if (isWindow(this[0]))\n return this[0].document.documentElement[\"client\".concat(prop)];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0].getBoundingClientRect()[propLC] - getExtraSpace(this[0], !index);\n }\n var valueNumber = parseInt(value, 10);\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n var boxSizing = computeStyle(ele, 'boxSizing');\n ele.style[propLC] = getSuffixedValue(propLC, valueNumber + (boxSizing === 'border-box' ? getExtraSpace(ele, !index) : 0));\n });\n };\n});\nvar displayProperty = '___cd';\nfn.toggle = function (force) {\n return this.each(function (i, ele) {\n if (!isElement(ele))\n return;\n var show = isUndefined(force) ? isHidden(ele) : force;\n if (show) {\n ele.style.display = ele[displayProperty] || '';\n if (isHidden(ele)) {\n ele.style.display = getDefaultDisplay(ele.tagName);\n }\n }\n else {\n ele[displayProperty] = computeStyle(ele, 'display');\n ele.style.display = 'none';\n }\n });\n};\nfn.hide = function () {\n return this.toggle(false);\n};\nfn.show = function () {\n return this.toggle(true);\n};\nvar eventsNamespace = '___ce';\nvar eventsNamespacesSeparator = '.';\nvar eventsFocus = { focus: 'focusin', blur: 'focusout' };\nvar eventsHover = { mouseenter: 'mouseover', mouseleave: 'mouseout' };\nvar eventsMouseRe = /^(mouse|pointer|contextmenu|drag|drop|click|dblclick)/i;\n// @require ./variables.ts\nfunction getEventNameBubbling(name) {\n return eventsHover[name] || eventsFocus[name] || name;\n}\n// @require ./variables.ts\nfunction parseEventName(eventName) {\n var parts = eventName.split(eventsNamespacesSeparator);\n return [parts[0], parts.slice(1).sort()]; // [name, namespace[]]\n}\nfn.trigger = function (event, data) {\n if (isString(event)) {\n var _a = parseEventName(event), nameOriginal = _a[0], namespaces = _a[1];\n var name_1 = getEventNameBubbling(nameOriginal);\n if (!name_1)\n return this;\n var type = eventsMouseRe.test(name_1) ? 'MouseEvents' : 'HTMLEvents';\n event = doc.createEvent(type);\n event.initEvent(name_1, true, true);\n event.namespace = namespaces.join(eventsNamespacesSeparator);\n event.___ot = nameOriginal;\n }\n event.___td = data;\n var isEventFocus = (event.___ot in eventsFocus);\n return this.each(function (i, ele) {\n if (isEventFocus && isFunction(ele[event.___ot])) {\n ele[\"___i\".concat(event.type)] = true; // Ensuring the native event is ignored\n ele[event.___ot]();\n ele[\"___i\".concat(event.type)] = false; // Ensuring the custom event is not ignored\n }\n ele.dispatchEvent(event);\n });\n};\n// @require ./variables.ts\nfunction getEventsCache(ele) {\n return ele[eventsNamespace] = (ele[eventsNamespace] || {});\n}\n// @require core/guid.ts\n// @require events/helpers/get_events_cache.ts\nfunction addEvent(ele, name, namespaces, selector, callback) {\n var eventCache = getEventsCache(ele);\n eventCache[name] = (eventCache[name] || []);\n eventCache[name].push([namespaces, selector, callback]);\n ele.addEventListener(name, callback);\n}\nfunction hasNamespaces(ns1, ns2) {\n return !ns2 || !some.call(ns2, function (ns) { return ns1.indexOf(ns) < 0; });\n}\n// @require ./get_events_cache.ts\n// @require ./has_namespaces.ts\n// @require ./parse_event_name.ts\nfunction removeEvent(ele, name, namespaces, selector, callback) {\n var cache = getEventsCache(ele);\n if (!name) {\n for (name in cache) {\n removeEvent(ele, name, namespaces, selector, callback);\n }\n }\n else if (cache[name]) {\n cache[name] = cache[name].filter(function (_a) {\n var ns = _a[0], sel = _a[1], cb = _a[2];\n if ((callback && cb.guid !== callback.guid) || !hasNamespaces(ns, namespaces) || (selector && selector !== sel))\n return true;\n ele.removeEventListener(name, cb);\n });\n }\n}\nfn.off = function (eventFullName, selector, callback) {\n var _this = this;\n if (isUndefined(eventFullName)) {\n this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele);\n });\n }\n else if (!isString(eventFullName)) {\n for (var key in eventFullName) {\n this.off(key, eventFullName[key]);\n }\n }\n else {\n if (isFunction(selector)) {\n callback = selector;\n selector = '';\n }\n each(getSplitValues(eventFullName), function (i, eventFullName) {\n var _a = parseEventName(eventFullName), nameOriginal = _a[0], namespaces = _a[1];\n var name = getEventNameBubbling(nameOriginal);\n _this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele, name, namespaces, selector, callback);\n });\n });\n }\n return this;\n};\nfn.remove = function (comparator) {\n filtered(this, comparator).detach().off();\n return this;\n};\nfn.replaceWith = function (selector) {\n return this.before(selector).remove();\n};\nfn.replaceAll = function (selector) {\n cash(selector).replaceWith(this);\n return this;\n};\nfunction on(eventFullName, selector, data, callback, _one) {\n var _this = this;\n if (!isString(eventFullName)) {\n for (var key in eventFullName) {\n this.on(key, selector, data, eventFullName[key], _one);\n }\n return this;\n }\n if (!isString(selector)) {\n if (isUndefined(selector) || isNull(selector)) {\n selector = '';\n }\n else if (isUndefined(data)) {\n data = selector;\n selector = '';\n }\n else {\n callback = data;\n data = selector;\n selector = '';\n }\n }\n if (!isFunction(callback)) {\n callback = data;\n data = undefined;\n }\n if (!callback)\n return this;\n each(getSplitValues(eventFullName), function (i, eventFullName) {\n var _a = parseEventName(eventFullName), nameOriginal = _a[0], namespaces = _a[1];\n var name = getEventNameBubbling(nameOriginal);\n var isEventHover = (nameOriginal in eventsHover);\n var isEventFocus = (nameOriginal in eventsFocus);\n if (!name)\n return;\n _this.each(function (i, ele) {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n var finalCallback = function (event) {\n if (event.target[\"___i\".concat(event.type)])\n return event.stopImmediatePropagation(); // Ignoring native event in favor of the upcoming custom one\n if (event.namespace && !hasNamespaces(namespaces, event.namespace.split(eventsNamespacesSeparator)))\n return;\n if (!selector && ((isEventFocus && (event.target !== ele || event.___ot === name)) || (isEventHover && event.relatedTarget && ele.contains(event.relatedTarget))))\n return;\n var thisArg = ele;\n if (selector) {\n var target = event.target;\n while (!matches(target, selector)) {\n if (target === ele)\n return;\n target = target.parentNode;\n if (!target)\n return;\n }\n thisArg = target;\n }\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function () {\n return thisArg;\n }\n });\n Object.defineProperty(event, 'delegateTarget', {\n configurable: true,\n get: function () {\n return ele;\n }\n });\n Object.defineProperty(event, 'data', {\n configurable: true,\n get: function () {\n return data;\n }\n });\n var returnValue = callback.call(thisArg, event, event.___td);\n if (_one) {\n removeEvent(ele, name, namespaces, selector, finalCallback);\n }\n if (returnValue === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n finalCallback.guid = callback.guid = (callback.guid || cash.guid++);\n addEvent(ele, name, namespaces, selector, finalCallback);\n });\n });\n return this;\n}\nfn.on = on;\nfunction one(eventFullName, selector, data, callback) {\n return this.on(eventFullName, selector, data, callback, true);\n}\n;\nfn.one = one;\nvar queryEncodeSpaceRe = /%20/g;\nvar queryEncodeCRLFRe = /\\r?\\n/g;\nfunction queryEncode(prop, value) {\n return \"&\".concat(encodeURIComponent(prop), \"=\").concat(encodeURIComponent(value.replace(queryEncodeCRLFRe, '\\r\\n')).replace(queryEncodeSpaceRe, '+'));\n}\nvar skippableRe = /file|reset|submit|button|image/i;\nvar checkableRe = /radio|checkbox/i;\nfn.serialize = function () {\n var query = '';\n this.each(function (i, ele) {\n each(ele.elements || [ele], function (i, ele) {\n if (ele.disabled || !ele.name || ele.tagName === 'FIELDSET' || skippableRe.test(ele.type) || (checkableRe.test(ele.type) && !ele.checked))\n return;\n var value = getValue(ele);\n if (!isUndefined(value)) {\n var values = isArray(value) ? value : [value];\n each(values, function (i, value) {\n query += queryEncode(ele.name, value);\n });\n }\n });\n });\n return query.slice(1);\n};\n// @require core/types.ts\n// @require core/cash.ts\n// @require core/type_checking.ts\n// @require core/variables.ts\n// @require core/each.ts\n// @require core/extend.ts\n// @require core/find.ts\n// @require core/get_compare_function.ts\n// @require core/get_split_values.ts\n// @require core/guid.ts\n// @require core/parse_html.ts\n// @require core/unique.ts\n// @require attributes/add_class.ts\n// @require attributes/attr.ts\n// @require attributes/has_class.ts\n// @require attributes/prop.ts\n// @require attributes/remove_attr.ts\n// @require attributes/remove_class.ts\n// @require attributes/remove_prop.ts\n// @require attributes/toggle_class.ts\n// @require collection/add.ts\n// @require collection/each.ts\n// @require collection/eq.ts\n// @require collection/filter.ts\n// @require collection/first.ts\n// @require collection/get.ts\n// @require collection/index.ts\n// @require collection/last.ts\n// @require collection/map.ts\n// @require collection/slice.ts\n// @require css/css.ts\n// @require data/data.ts\n// @require dimensions/inner_outer.ts\n// @require dimensions/normal.ts\n// @require effects/hide.ts\n// @require effects/show.ts\n// @require effects/toggle.ts\n// @require events/off.ts\n// @require events/on.ts\n// @require events/one.ts\n// @require events/ready.ts\n// @require events/trigger.ts\n// @require forms/serialize.ts\n// @require forms/val.ts\n// @require manipulation/after.ts\n// @require manipulation/append.ts\n// @require manipulation/append_to.ts\n// @require manipulation/before.ts\n// @require manipulation/clone.ts\n// @require manipulation/detach.ts\n// @require manipulation/empty.ts\n// @require manipulation/html.ts\n// @require manipulation/insert_after.ts\n// @require manipulation/insert_before.ts\n// @require manipulation/prepend.ts\n// @require manipulation/prepend_to.ts\n// @require manipulation/remove.ts\n// @require manipulation/replace_all.ts\n// @require manipulation/replace_with.ts\n// @require manipulation/text.ts\n// @require manipulation/unwrap.ts\n// @require manipulation/wrap.ts\n// @require manipulation/wrap_all.ts\n// @require manipulation/wrap_inner.ts\n// @require offset/offset.ts\n// @require offset/offset_parent.ts\n// @require offset/position.ts\n// @require traversal/children.ts\n// @require traversal/closest.ts\n// @require traversal/contents.ts\n// @require traversal/find.ts\n// @require traversal/has.ts\n// @require traversal/is.ts\n// @require traversal/next.ts\n// @require traversal/next_all.ts\n// @require traversal/next_until.ts\n// @require traversal/not.ts\n// @require traversal/parent.ts\n// @require traversal/parents.ts\n// @require traversal/parents_until.ts\n// @require traversal/prev.ts\n// @require traversal/prev_all.ts\n// @require traversal/prev_until.ts\n// @require traversal/siblings.ts\n// @no-require extras/get_script.ts\n// @no-require extras/shorthands.ts\n// @require methods.ts\nif (true) { // Node.js\n module.exports = cash;\n}\nelse {}\n})();\n\n//# sourceURL=webpack://@backset/server/../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js?"); + +/***/ }), + +/***/ "./src/view/page/signup/index.less": +/*!*****************************************!*\ + !*** ./src/view/page/signup/index.less ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/signup/index.less?"); + +/***/ }), + +/***/ "../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js": +/*!**********************************************************************************************************************!*\ + !*** ../../node_modules/.pnpm/registry.npmmirror.com+object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js ***! + \**********************************************************************************************************************/ +/***/ ((module) => { + +eval("!function(e){var t; true?module.exports=e():0}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t=undefined;if(!e&&t)return require(n,!0);if(a)return a(n,!0);throw new Error(\"Cannot find module '\"+n+\"'\")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a=undefined,e=0;e>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u=\"\";function s(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)}for(t=0,r=e.length-i;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+\"==\";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+\"=\"}return u}}(void 0===f?this.base64js={}:f)}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js\",\"/node_modules/gulp-browserify/node_modules/base64-js/lib\")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O(\"base64-js\"),i=O(\"ieee754\");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if(\"base64\"===t&&\"string\"==s)for(e=(u=e).trim?u.trim():u.replace(/^\\s+|\\s+$/g,\"\");e.length%4!=0;)e+=\"=\";if(\"number\"==s)r=j(e);else if(\"string\"==s)r=f.byteLength(e,t);else{if(\"object\"!=s)throw new Error(\"First argument needs to be a number, array or string.\");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&\"number\"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&\"object\"==typeof u&&\"number\"==typeof u.length)for(i=0;i>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o>>0)):(t+1>>0),o}function _(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1this.length&&(r=this.length);var o=(r=e.length-t=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d(\"number\"==typeof(e=\"string\"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),\"value is not a number\"),d(t<=n,\"end < start\"),n!==t&&0!==this.length){d(0<=t&&t\"},f.prototype.toArrayBuffer=function(){if(\"undefined\"==typeof Uint8Array)throw new Error(\"Buffer.toArrayBuffer not supported in this browser\");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(0<=e,\"specified a negative value for writing an unsigned value\"),d(e<=t,\"value is larger than maximum value for type\"),d(Math.floor(e)===e,\"value has a fractional component\")}function F(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\"),d(Math.floor(e)===e,\"value has a fractional component\")}function D(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\")}function d(e,t){if(!e)throw new Error(t||\"Failed assertion\")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},O(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/buffer/index.js\",\"/node_modules/gulp-browserify/node_modules/buffer\")},{\"base64-js\":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c(\"buffer\").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;is?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r>>((3&r)<<3)&255;return n}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c(\"./helpers\");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0>=-s,s+=r;0>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o< { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PREFIX = void 0;\nexports.PREFIX = '';\n\n\n//# sourceURL=webpack://@backset/server/./src/config/router.ts?"); + +/***/ }), + +/***/ "./src/view/api/index.ts": +/*!*******************************!*\ + !*** ./src/view/api/index.ts ***! + \*******************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createUser = exports.getVerifyCode = exports.userLogin = void 0;\nconst request_1 = __webpack_require__(/*! ../lib/request */ \"./src/view/lib/request.ts\");\nconst userLogin = (p) => request_1.axiosCommon.post('/user/login', p);\nexports.userLogin = userLogin;\nconst getVerifyCode = (p) => request_1.axiosCommon.post('/sms/verifycode', p);\nexports.getVerifyCode = getVerifyCode;\nconst createUser = (p) => request_1.axiosCommon.post('/user/create', p);\nexports.createUser = createUser;\n\n\n//# sourceURL=webpack://@backset/server/./src/view/api/index.ts?"); + +/***/ }), + +/***/ "./src/view/lib/request.ts": +/*!*********************************!*\ + !*** ./src/view/lib/request.ts ***! + \*********************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.axiosCommon = exports.sourceCommon = void 0;\nconst axios_1 = __importDefault(__webpack_require__(/*! axios */ \"../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js\"));\nconst router_1 = __webpack_require__(/*! ../../config/router */ \"./src/config/router.ts\");\nconst CancelToken = axios_1.default.CancelToken;\nexports.sourceCommon = CancelToken.source();\nconst axiosCommon = axios_1.default.create({\n timeout: 6000 * 1000,\n cancelToken: exports.sourceCommon.token,\n baseURL: router_1.PREFIX.startsWith('/') ? router_1.PREFIX : '/' + router_1.PREFIX,\n});\nexports.axiosCommon = axiosCommon;\naxiosCommon.interceptors.request.use((config) => {\n return config;\n}, (error) => {\n return Promise.reject(error);\n});\naxiosCommon.interceptors.response.use((response) => {\n const { code } = response.data;\n switch (code) {\n case 1000:\n if (window.location.pathname != '/login') {\n window.location.href = `/login`;\n }\n break;\n default:\n break;\n }\n return response.data;\n}, (err) => Promise.reject(err));\n\n\n//# sourceURL=webpack://@backset/server/./src/view/lib/request.ts?"); + +/***/ }), + +/***/ "./src/view/page/signup/index.ts": +/*!***************************************!*\ + !*** ./src/view/page/signup/index.ts ***! + \***************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst api_1 = __webpack_require__(/*! ../../api */ \"./src/view/api/index.ts\");\n__webpack_require__(/*! ./index.less */ \"./src/view/page/signup/index.less\");\nconst cash_dom_1 = __importDefault(__webpack_require__(/*! cash-dom */ \"../../node_modules/.pnpm/cash-dom@8.1.3/node_modules/cash-dom/dist/cash.js\"));\nconst util_1 = __webpack_require__(/*! @backset/util */ \"../../packages/util/dist/index.js\");\n(0, cash_dom_1.default)(function () {\n (0, cash_dom_1.default)('#signup-module').on('click', '#btn-signup', handleCreateUser);\n function handleCreateUser() {\n const params = {\n user_login: '' + (0, cash_dom_1.default)('#username').val(),\n user_pass: '' + (0, cash_dom_1.default)('#password').val(),\n user_phone: '' + (0, cash_dom_1.default)('#tel').val(),\n };\n if (util_1.ValidateUtil.withEmpty(params))\n return;\n if (!util_1.RegUtil.PHONE.test(params.user_phone))\n return;\n (0, api_1.createUser)(params).then((res) => {\n console.log(res);\n });\n }\n});\n\n\n//# sourceURL=webpack://@backset/server/./src/view/page/signup/index.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module is referenced by other modules so it can't be inlined +/******/ var __webpack_exports__ = __webpack_require__("./src/view/page/signup/index.ts"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/apps/server/script/new.mvc.js b/apps/server/script/new.mvc.js new file mode 100644 index 0000000..d061196 --- /dev/null +++ b/apps/server/script/new.mvc.js @@ -0,0 +1,63 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { writeFile } = require('fs/promises'); +const inquirer = require('inquirer'); +const { join } = require('path'); +const chalk = require('chalk'); + +const upper1st = (word) => word.charAt(0).toUpperCase() + word.slice(1); + +const controller = (name) => `import { Controller } from '@nestjs/common'; +import { ${upper1st(name)}Service } from 'src/service/${name}.service'; + +@Controller() +export class ${upper1st(name)}Controller { + constructor(private readonly ${name}Service: ${upper1st(name)}Service) {} +} +`; + +const mod = (name) => `import { Module } from '@nestjs/common'; +import { ${upper1st(name)}Controller } from 'src/controller/${name}.controller'; +import { ${upper1st(name)}Service } from 'src/service/${name}.service'; + +@Module({ + controllers: [${upper1st(name)}Controller], + providers: [${upper1st(name)}Service], +}) +export class ${upper1st(name)}Module {} +`; + +const impl = (name) => `export interface ${upper1st(name)}ServiceImpl {}`; + +const service = (name) => `import { Injectable } from '@nestjs/common'; +import { InjectDataSource } from '@nestjs/typeorm'; +import { DataSource } from 'typeorm'; +import { ${upper1st(name)}ServiceImpl } from './impl/${name}.interface'; + +@Injectable() +export class ${upper1st(name)}Service implements ${upper1st(name)}ServiceImpl { + constructor(@InjectDataSource() private db: DataSource) {} +} +`; + +inquirer + .prompt([ + { + type: 'input', + name: 'name', + message: '输入模块名称', + }, + ]) + .then(async (res) => { + const { name } = res; + const controllerDir = join(process.cwd(), 'src/controller'); + const moduleDir = join(process.cwd(), 'src/module'); + const implDir = join(process.cwd(), 'src/service/impl'); + const serviceDir = join(process.cwd(), 'src/service'); + await writeFile(`${controllerDir}/${name}.controller.ts`, controller(name)); + await writeFile(`${moduleDir}/${name}.module.ts`, mod(name)); + await writeFile(`${implDir}/${name}.interface.ts`, impl(name)); + await writeFile(`${serviceDir}/${name}.service.ts`, service(name)); + console.log( + chalk.blue(`! 请在 app.module.ts 中imports: [${upper1st(name)}Module]`), + ); + }); diff --git a/apps/server/script/new.page.js b/apps/server/script/new.page.js new file mode 100644 index 0000000..6b1bac1 --- /dev/null +++ b/apps/server/script/new.page.js @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { mkdir, writeFile } = require('fs/promises'); +const inquirer = require('inquirer'); +const { join } = require('path'); + +const less = () => `@import '../../less/common.less'; +@import '../../less/var.less'; +`; + +const ts = (name) => `import './index.less'; + +console.log('${name}'); +`; + +const ejs = (name) => ` + + + <%- include('../_layout/base') -%> + new page: <%= name %> + + +

${name}

+ + +`; + +inquirer + .prompt([ + { + type: 'input', + name: 'name', + message: '输入页面文件夹名称', + }, + ]) + .then(async (res) => { + const { name } = res; + const targetDir = join(process.cwd(), 'src/view/pages', name); + await mkdir(targetDir); + await writeFile(`${targetDir}/index.ts`, ts(name)); + await writeFile(`${targetDir}/index.ejs`, ejs(name)); + await writeFile(`${targetDir}/index.less`, less()); + }); diff --git a/apps/server/src/app.controller.ts b/apps/server/src/app.controller.ts deleted file mode 100644 index 0266f34..0000000 --- a/apps/server/src/app.controller.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Controller, Get } from '@nestjs/common'; -import { AppService } from './app.service'; -import { EncryptUtil } from '@backset/util'; - -@Controller() -export class AppController { - constructor(private readonly appService: AppService) {} - - @Get() - getHello(): string { - return EncryptUtil.md5('原文字符'); - } -} diff --git a/apps/server/src/app.module.ts b/apps/server/src/app.module.ts index 8662803..d9d9ff4 100644 --- a/apps/server/src/app.module.ts +++ b/apps/server/src/app.module.ts @@ -1,10 +1,22 @@ import { Module } from '@nestjs/common'; -import { AppController } from './app.controller'; -import { AppService } from './app.service'; - +import { UserModule } from './module/user.module'; +import { ConfigModule } from '@nestjs/config'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { mongo, mysql } from './config/db'; +import { MongooseModule } from '@nestjs/mongoose'; +import { BaseModule } from './module/base.module'; +import { SmsModule } from './module/sms.module'; @Module({ - imports: [], - controllers: [AppController], - providers: [AppService], + imports: [ + ConfigModule.forRoot({ + isGlobal: true, + envFilePath: ['.env.dev', '.env', '.env.prod'], + }), + TypeOrmModule.forRoot(mysql), + MongooseModule.forRoot(mongo), + UserModule, + BaseModule, + SmsModule, + ], }) export class AppModule {} diff --git a/apps/server/src/app.service.ts b/apps/server/src/app.service.ts deleted file mode 100644 index 927d7cc..0000000 --- a/apps/server/src/app.service.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class AppService { - getHello(): string { - return 'Hello World!'; - } -} diff --git a/apps/server/src/config/biz.code.ts b/apps/server/src/config/biz.code.ts new file mode 100644 index 0000000..5f467d6 --- /dev/null +++ b/apps/server/src/config/biz.code.ts @@ -0,0 +1,4 @@ +export enum BizStatus { + OK = 1, + FAIL = -99, +} diff --git a/apps/server/src/config/db.ts b/apps/server/src/config/db.ts new file mode 100644 index 0000000..46e5308 --- /dev/null +++ b/apps/server/src/config/db.ts @@ -0,0 +1,21 @@ +import { TypeOrmModuleOptions } from '@nestjs/typeorm'; + +/** + * typeorm 连接 Mysql, 配置文件 + */ +export const mysql: TypeOrmModuleOptions = { + type: 'mysql', + host: 'mozzie.cn', + port: 6033, + username: 'root', + password: 'cr654654.', + database: 'backset', + entities: [], + synchronize: true, + autoLoadEntities: true, +}; + +/** + * mongodb 链接 配置文件 + */ +export const mongo = 'mongodb://backset:cr654654.@mozzie.cn:37017/backset'; diff --git a/apps/server/src/config/router.ts b/apps/server/src/config/router.ts new file mode 100644 index 0000000..71b561a --- /dev/null +++ b/apps/server/src/config/router.ts @@ -0,0 +1,4 @@ +/** + * 全局 路由前缀,axios baseURL + */ +export const PREFIX = ''; diff --git a/apps/server/src/config/template.var.ts b/apps/server/src/config/template.var.ts new file mode 100644 index 0000000..dc27705 --- /dev/null +++ b/apps/server/src/config/template.var.ts @@ -0,0 +1,23 @@ +import { NestExpressApplication } from '@nestjs/platform-express'; +const { ASSETS_URL } = process.env; + +// 全局变量 +const TEMPLATE_GLOBAL_VARS = { + /** + * 静态资源版本 home.js?v={version} + */ + version: Date.now(), + /** + *! 开发环境由于 nestjs 静态资源服务器是 public 文件夹, 因此 ASSETS_URL 默认是 /, 部署到 cdn 后, 则修改为 cdn url + */ + assets: ASSETS_URL, +}; + +/** + * 遍历注入 全局变量 到模板引擎中 + */ +export const injectTemplateVars = (app: NestExpressApplication) => { + for (const [k, v] of Object.entries(TEMPLATE_GLOBAL_VARS)) { + app.setLocal(k, v); + } +}; diff --git a/apps/server/src/controller/base.controller.ts b/apps/server/src/controller/base.controller.ts new file mode 100644 index 0000000..dda4313 --- /dev/null +++ b/apps/server/src/controller/base.controller.ts @@ -0,0 +1,27 @@ +import { Controller, Get, Render } from '@nestjs/common'; + +/** + * @Render 装饰器 返回值 {name: xxx} 关联的是静态资源的文件夹的名称, + * webpack构建单页面输出的 js / css资源的打包到public下的静态资源名称 + */ + +@Controller() +export class BaseController { + @Get('/') + @Render('page/home/index') + async homeViewModel() { + return { name: 'home' }; + } + + @Get('/signup') + @Render('page/signup/index') + async signupViewModel() { + return { name: 'signup' }; + } + + @Get('/login') + @Render('page/login/index') + async loginViewModel() { + return { name: 'login' }; + } +} diff --git a/apps/server/src/controller/sms.controller.ts b/apps/server/src/controller/sms.controller.ts new file mode 100644 index 0000000..6a7bbaa --- /dev/null +++ b/apps/server/src/controller/sms.controller.ts @@ -0,0 +1,16 @@ +import { Body, Controller, Post } from '@nestjs/common'; +import { BizStatus } from 'src/config/biz.code'; +import { IVerifyCodeRequest } from 'src/dto/sms.dto'; +import { SmsService } from 'src/service/sms.service'; + +@Controller('/sms') +export class SmsController { + constructor(private readonly smsService: SmsService) {} + + @Post('/verifycode') + async verifycode(@Body() params: IVerifyCodeRequest) { + const { phone } = params; + const verifycode = this.smsService.getVerifyCode({ phone }); + return { code: BizStatus.OK, data: verifycode }; + } +} diff --git a/apps/server/src/controller/user.controller.ts b/apps/server/src/controller/user.controller.ts new file mode 100644 index 0000000..4edc23e --- /dev/null +++ b/apps/server/src/controller/user.controller.ts @@ -0,0 +1,31 @@ +import { Body, Controller, Get, Post, Render } from '@nestjs/common'; +import { BizStatus } from 'src/config/biz.code'; +import { IUserRequest } from 'src/dto/user.dto'; +import { UserService } from 'src/service/user.service'; + +@Controller('/user') +export class UserController { + constructor(private readonly userService: UserService) {} + + @Get('/topic') + @Render('pages/topic/index') + async topic() { + return { name: 'topic' }; + } + + @Get('/course') + @Render('pages/course/index') + async course() { + return { name: 'course' }; + } + + @Post('/create') + async create(@Body() params: IUserRequest) { + try { + await this.userService.createUser(params); + return { code: BizStatus.OK, data: params }; + } catch (error) { + console.log(error); + } + } +} diff --git a/apps/server/src/dto/sms.dto.ts b/apps/server/src/dto/sms.dto.ts new file mode 100644 index 0000000..b32d8c4 --- /dev/null +++ b/apps/server/src/dto/sms.dto.ts @@ -0,0 +1,3 @@ +export interface IVerifyCodeRequest { + phone: string; +} diff --git a/apps/server/src/dto/user.dto.ts b/apps/server/src/dto/user.dto.ts new file mode 100644 index 0000000..35993a2 --- /dev/null +++ b/apps/server/src/dto/user.dto.ts @@ -0,0 +1,12 @@ +export interface IUserRequest { + user_login: string; + user_pass: string; + user_phone: number | string; +} + +export interface IUserLoginRequest { + login_type: 'password' | 'verifycode'; + user_login: string | number; + user_pass?: string; + verify_code?: string | number; +} diff --git a/apps/server/src/filter/httpException.filter.ts b/apps/server/src/filter/httpException.filter.ts new file mode 100644 index 0000000..e391aad --- /dev/null +++ b/apps/server/src/filter/httpException.filter.ts @@ -0,0 +1,30 @@ +import { + ExceptionFilter, + Catch, + ArgumentsHost, + HttpException, +} from '@nestjs/common'; +import { Request, Response } from 'express'; +import { execPath } from 'process'; + +@Catch(HttpException) +export class HttpExceptionFilter implements ExceptionFilter { + catch(exception: HttpException, host: ArgumentsHost) { + const ctx = host.switchToHttp(); + const response = ctx.getResponse(); + const status = exception.getStatus(); + const message = exception.message; + + switch (status) { + case 404: + response.render('page/notFound/index', { name: 'notFound' }); + break; + default: + response.status(status).json({ + code: status, + message, + }); + break; + } + } +} diff --git a/apps/server/src/main.ts b/apps/server/src/main.ts index 13cad38..2ffe494 100644 --- a/apps/server/src/main.ts +++ b/apps/server/src/main.ts @@ -1,8 +1,26 @@ +import { Logger } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; +import { NestExpressApplication } from '@nestjs/platform-express'; +import { join } from 'path'; import { AppModule } from './app.module'; +import { PREFIX } from './config/router'; +import { injectTemplateVars } from './config/template.var'; +const { PORT = 4000 } = process.env; async function bootstrap() { - const app = await NestFactory.create(AppModule); - await app.listen(3000); + const app = await NestFactory.create(AppModule); + const logger: Logger = new Logger('main.ts'); + + app + .useStaticAssets(join(process.cwd(), 'public'), { prefix: '/' }) + .setViewEngine('ejs') + .setBaseViewsDir(join(process.cwd(), 'src/view')) + .setGlobalPrefix(PREFIX); + + injectTemplateVars(app); + + await app.listen(PORT, () => { + logger.log(`服务已启动,访问:http://localhost:${PORT}/${PREFIX}`); + }); } bootstrap(); diff --git a/apps/server/src/module/base.module.ts b/apps/server/src/module/base.module.ts new file mode 100644 index 0000000..6b3f309 --- /dev/null +++ b/apps/server/src/module/base.module.ts @@ -0,0 +1,7 @@ +import { Module } from '@nestjs/common'; +import { BaseController } from 'src/controller/base.controller'; + +@Module({ + controllers: [BaseController], +}) +export class BaseModule {} diff --git a/apps/server/src/module/sms.module.ts b/apps/server/src/module/sms.module.ts new file mode 100644 index 0000000..b93ea56 --- /dev/null +++ b/apps/server/src/module/sms.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { SmsController } from 'src/controller/sms.controller'; +import { SmsService } from 'src/service/sms.service'; + +@Module({ + controllers: [SmsController], + providers: [SmsService], +}) +export class SmsModule {} diff --git a/apps/server/src/module/user.module.ts b/apps/server/src/module/user.module.ts new file mode 100644 index 0000000..50ec0e9 --- /dev/null +++ b/apps/server/src/module/user.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { UserController } from 'src/controller/user.controller'; +import { UserService } from 'src/service/user.service'; + +@Module({ + controllers: [UserController], + providers: [UserService], +}) +export class UserModule {} diff --git a/apps/server/src/schema/user.schema.ts b/apps/server/src/schema/user.schema.ts new file mode 100644 index 0000000..04442d2 --- /dev/null +++ b/apps/server/src/schema/user.schema.ts @@ -0,0 +1,11 @@ +import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; +import { Document } from 'mongoose'; + +export type SubscribeDocument = Subscribe & Document; + +@Schema({ collection: 'subscribe_plan' }) +export class Subscribe extends Document { + @Prop({ required: true }) + title: string; +} +export const SubscribeSchema = SchemaFactory.createForClass(Subscribe); diff --git a/apps/server/src/service/impl/sms.interface.ts b/apps/server/src/service/impl/sms.interface.ts new file mode 100644 index 0000000..713a84f --- /dev/null +++ b/apps/server/src/service/impl/sms.interface.ts @@ -0,0 +1,8 @@ +import { IVerifyCodeRequest } from 'src/dto/sms.dto'; + +export interface SmsServiceImpl { + /** + * 获取第三方短信运行商验证码 + */ + getVerifyCode(p: IVerifyCodeRequest): number; +} diff --git a/apps/server/src/service/impl/user.interface.ts b/apps/server/src/service/impl/user.interface.ts new file mode 100644 index 0000000..c0fa015 --- /dev/null +++ b/apps/server/src/service/impl/user.interface.ts @@ -0,0 +1,5 @@ +import { IUserRequest } from 'src/dto/user.dto'; + +export interface UserServiceImpl { + createUser(p: IUserRequest): Promise; +} diff --git a/apps/server/src/service/sms.service.ts b/apps/server/src/service/sms.service.ts new file mode 100644 index 0000000..983ea4c --- /dev/null +++ b/apps/server/src/service/sms.service.ts @@ -0,0 +1,14 @@ +import { Injectable } from '@nestjs/common'; +import { InjectDataSource } from '@nestjs/typeorm'; +import { IVerifyCodeRequest } from 'src/dto/sms.dto'; +import { DataSource } from 'typeorm'; +import { SmsServiceImpl } from './impl/sms.interface'; + +@Injectable() +export class SmsService implements SmsServiceImpl { + constructor(@InjectDataSource() private db: DataSource) {} + + getVerifyCode(p: IVerifyCodeRequest): number { + return 303404; + } +} diff --git a/apps/server/src/service/user.service.ts b/apps/server/src/service/user.service.ts new file mode 100644 index 0000000..d283646 --- /dev/null +++ b/apps/server/src/service/user.service.ts @@ -0,0 +1,26 @@ +import { EncryptUtil } from '@backset/util'; +import { Injectable } from '@nestjs/common'; +import { InjectDataSource } from '@nestjs/typeorm'; +import { IUserRequest } from 'src/dto/user.dto'; +import { DataSource } from 'typeorm'; +import { UserServiceImpl } from './impl/user.interface'; + +@Injectable() +export class UserService implements UserServiceImpl { + constructor(@InjectDataSource() private db: DataSource) {} + + async createUser(p: IUserRequest): Promise { + const create_sql = `INSERT INTO backset.user(user_login,user_pass,user_phone,user_create_time) VALUES(?,?,?,?)`; + const { affectedRows } = await this.db.query(create_sql, [ + p.user_login, + EncryptUtil.md5(p.user_pass), + p.user_phone, + Date.now(), + ]); + return affectedRows === 1; + } + + async getUser() { + return await this.db.query(`select * from user`); + } +} diff --git a/apps/server/src/view/api/index.ts b/apps/server/src/view/api/index.ts new file mode 100644 index 0000000..63fe6de --- /dev/null +++ b/apps/server/src/view/api/index.ts @@ -0,0 +1,20 @@ +import { IVerifyCodeRequest } from 'src/dto/sms.dto'; +import { IUserLoginRequest, IUserRequest } from '../../dto/user.dto'; +import { axiosCommon as Request } from '../lib/request'; + +/** + * 用户登录 + */ +export const userLogin = (p: IUserLoginRequest) => + Request.post('/user/login', p); + +/** + * 获取验证码 + */ +export const getVerifyCode = (p: IVerifyCodeRequest) => + Request.post('/sms/verifycode', p); + +/** + * 用户注册 + */ +export const createUser = (p: IUserRequest) => Request.post('/user/create', p); diff --git a/apps/server/src/view/assets/font/backset.woff b/apps/server/src/view/assets/font/backset.woff new file mode 100644 index 0000000..a8c5475 Binary files /dev/null and b/apps/server/src/view/assets/font/backset.woff differ diff --git a/apps/server/src/view/assets/img/annotation.svg b/apps/server/src/view/assets/img/annotation.svg new file mode 100644 index 0000000..14d3686 --- /dev/null +++ b/apps/server/src/view/assets/img/annotation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/server/src/view/assets/img/logo.png b/apps/server/src/view/assets/img/logo.png new file mode 100644 index 0000000..6263c7e Binary files /dev/null and b/apps/server/src/view/assets/img/logo.png differ diff --git a/apps/server/src/view/assets/img/signup-banner.svg b/apps/server/src/view/assets/img/signup-banner.svg new file mode 100644 index 0000000..d155057 --- /dev/null +++ b/apps/server/src/view/assets/img/signup-banner.svg @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apps/server/src/view/less/common.less b/apps/server/src/view/less/common.less new file mode 100644 index 0000000..fd68612 --- /dev/null +++ b/apps/server/src/view/less/common.less @@ -0,0 +1,50 @@ +@import './spectre-less/spectre.less'; +@import './spectre-less/spectre-exp.less'; +@import './spectre-less/spectre-icons.less'; + +@font-face { + font-family: backset; + src: url('../assets/font/backset.woff'); +} + +* { + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; +} + +.container { + width: 1120px; + margin: 0 auto; +} + +a { + &:hover { + text-decoration: none; + } + &:focus { + text-decoration: none; + box-shadow: none; + } +} + +.navbar { + height: 2.4rem; + .navbar-section a { + display: flex; + align-items: center; + img { + width: 1.2rem; + } + span { + font-family: backset; + font-size: 1.2em; + padding-left: 0.5em; + color: #121212; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/spectre-exp.less b/apps/server/src/view/less/spectre-less/spectre-exp.less new file mode 100644 index 0000000..5ff5a88 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/spectre-exp.less @@ -0,0 +1,16 @@ +/*! Spectre.css Experimentals | MIT License | github.com/picturepan2/spectre */ + +// Core variables and mixins +@import 'src/variables.less'; +@import 'src/mixins.less'; + +// Experimentals +@import 'src/calendars.less'; +@import 'src/carousels.less'; +@import 'src/comparison-sliders.less'; +@import 'src/filters.less'; +@import 'src/meters.less'; +@import 'src/parallax.less'; +@import 'src/progress.less'; +@import 'src/sliders.less'; +@import 'src/timelines.less'; diff --git a/apps/server/src/view/less/spectre-less/spectre-icons.less b/apps/server/src/view/less/spectre-less/spectre-icons.less new file mode 100644 index 0000000..a366e7d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/spectre-icons.less @@ -0,0 +1,8 @@ +/*! Spectre.css Icons | MIT License | github.com/picturepan2/spectre */ + +// Core variables and mixins +@import 'src/variables.less'; +@import 'src/mixins.less'; + +// Icons +@import 'src/icons.less'; diff --git a/apps/server/src/view/less/spectre-less/spectre.less b/apps/server/src/view/less/spectre-less/spectre.less new file mode 100644 index 0000000..14c150d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/spectre.less @@ -0,0 +1,50 @@ +/*! Spectre.css | MIT License | github.com/picturepan2/spectre */ + +// Core variables and mixins +@import 'src/variables.less'; +@import 'src/mixins.less'; + +// Reset and dependencies +@import 'src/normalize.less'; +@import 'src/base.less'; + +// Core classes +@import 'src/typography.less'; +@import 'src/asian.less'; +@import 'src/tables.less'; +@import 'src/buttons.less'; +@import 'src/forms.less'; +@import 'src/labels.less'; +@import 'src/codes.less'; +@import 'src/media.less'; + +// Layout +@import 'src/layout.less'; +@import 'src/navbar.less'; +@import 'src/panels.less'; +@import 'src/empty.less'; + +// Components +@import 'src/accordions.less'; +@import 'src/autocomplete.less'; +@import 'src/avatars.less'; +@import 'src/badges.less'; +@import 'src/breadcrumbs.less'; +@import 'src/bars.less'; +@import 'src/cards.less'; +@import 'src/chips.less'; +@import 'src/dropdowns.less'; +@import 'src/menus.less'; +@import 'src/modals.less'; +@import 'src/navs.less'; +@import 'src/pagination.less'; +@import 'src/popovers.less'; +@import 'src/steps.less'; +@import 'src/tabs.less'; +@import 'src/tiles.less'; +@import 'src/toasts.less'; +@import 'src/tooltips.less'; + +// Utility classes +@import 'src/animations.less'; +@import 'src/utilities.less'; diff --git a/apps/server/src/view/less/spectre-less/src/accordions.less b/apps/server/src/view/less/spectre-less/src/accordions.less new file mode 100644 index 0000000..810d264 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/accordions.less @@ -0,0 +1,34 @@ +// Accordions +.accordion { + .accordion-item { + input { + &:checked { + & ~ .accordion-header { + .icon { + transform: rotate(90deg); + + } + } + & ~ .accordion-body { + max-height: 1000px; + } + } + } + + .accordion-header { + display: block; + padding: @unit-1 @unit-2; + + .icon { + transition: all .2s ease; + } + } + + .accordion-body { + margin-bottom: @layout-spacing; + max-height: 0; + overflow: hidden; + transition: max-height .2s ease; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/animations.less b/apps/server/src/view/less/spectre-less/src/animations.less new file mode 100644 index 0000000..f6b8724 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/animations.less @@ -0,0 +1,20 @@ +// Animations +@keyframes loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +@keyframes slide-down { + 0% { + opacity: 0; + transform: translateY(-@unit-8); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} diff --git a/apps/server/src/view/less/spectre-less/src/asian.less b/apps/server/src/view/less/spectre-less/src/asian.less new file mode 100644 index 0000000..a68cb39 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/asian.less @@ -0,0 +1,33 @@ +// Optimized for East Asian CJK +:lang(zh) { + font-family: @cjk-zh-font-family; +} + +:lang(ja) { + font-family: @cjk-jp-font-family; +} + +:lang(ko) { + font-family: @cjk-ko-font-family; +} + +:lang(zh), +:lang(ja), +.cjk { + ins, + u { + border-bottom: @border-width solid; + text-decoration: none; + } + + del + del, + del + s, + ins + ins, + ins + u, + s + del, + s + s, + u + ins, + u + u { + margin-left: .125em; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/autocomplete.less b/apps/server/src/view/less/spectre-less/src/autocomplete.less new file mode 100644 index 0000000..111ecf6 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/autocomplete.less @@ -0,0 +1,41 @@ +// Autocomplete +.form-autocomplete { + position: relative; + + .form-autocomplete-input { + align-content: flex-start; + display: flex; + flex-wrap: wrap; + height: auto; + min-height: @unit-8; + padding: @unit-h; + + &.is-focused { + border-color: @primary-color; + .control-shadow(); + } + + .form-input { + border-color: transparent; + box-shadow: none; + display: inline-block; + flex: 1 0 auto; + height: @unit-6; + line-height: @unit-4; + margin: @unit-h; + width: auto; + } + } + + mark { + font-size: 1; + padding: .1em 0; + } + + .menu { + left: 0; + position: absolute; + top: 100%; + width: 100%; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/avatars.less b/apps/server/src/view/less/spectre-less/src/avatars.less new file mode 100644 index 0000000..1fa075a --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/avatars.less @@ -0,0 +1,77 @@ +// Avatars +.avatar { + .avatar-base(); + background: @primary-color; + border-radius: 50%; + color: fade(@light-color, 85%); + display: inline-block; + font-weight: 300; + line-height: 1; + margin: 0; + position: relative; + vertical-align: middle; + + &.avatar-xs { + .avatar-base(@unit-4); + } + &.avatar-sm { + .avatar-base(@unit-6); + } + &.avatar-lg { + .avatar-base(@unit-12); + } + &.avatar-xl { + .avatar-base(@unit-16); + } + + img { + border-radius: 50%; + height: 100%; + position: relative; + width: 100%; + z-index: @zindex-0; + } + + .avatar-icon, + .avatar-presence { + background: @bg-color-light; + bottom: 14.64%; + height: 50%; + padding: @border-width-lg; + position: absolute; + right: 14.64%; + transform: translate(50%, 50%); + width: 50%; + z-index: @zindex-0 + 1; + } + + .avatar-presence { + background: @gray-color; + box-shadow: 0 0 0 @border-width-lg @light-color; + border-radius: 50%; + height: .5em; + width: .5em; + + &.online { + background: @success-color; + } + + &.busy { + background: @error-color; + } + + &.away { + background: @warning-color; + } + } + + &[data-initial]::before { + color: currentColor; + content: attr(data-initial); + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + z-index: @zindex-0; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/badges.less b/apps/server/src/view/less/spectre-less/src/badges.less new file mode 100644 index 0000000..c62df9d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/badges.less @@ -0,0 +1,70 @@ +// Badges +.badge { + position: relative; + white-space: nowrap; + + &[data-badge], + &:not([data-badge]) { + &::after { + background: @primary-color; + background-clip: padding-box; + border-radius: .5rem; + box-shadow: 0 0 0 .1rem @bg-color-light; + color: @light-color; + content: attr(data-badge); + display: inline-block; + transform: translate(-.1rem, -.5rem); + } + } + &[data-badge] { + &::after { + font-size: @font-size-sm; + height: 18px; + line-height: 1; + min-width: 18px; + padding: 3px 5px; + text-align: center; + white-space: nowrap; + } + } + &:not([data-badge]), + &[data-badge=''] { + &::after { + height: 6px; + min-width: 6px; + padding: 0; + width: 6px; + } + } + + // Badges for Buttons + &.btn { + &::after { + position: absolute; + top: 0; + right: 0; + transform: translate(50%, -50%); + } + } + + // Badges for Avatars + &.avatar { + &::after { + position: absolute; + top: 14.64%; + right: 14.64%; + transform: translate(50%, -50%); + z-index: @zindex-1; + } + } + + &.avatar-xs { + &::after { + content: ""; + height: @unit-2; + min-width: @unit-2; + padding: 0; + width: @unit-2; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/bars.less b/apps/server/src/view/less/spectre-less/src/bars.less new file mode 100644 index 0000000..4c3824a --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/bars.less @@ -0,0 +1,71 @@ +// Bars +.bar { + background: @bg-color-dark; + border-radius: @border-radius; + display: flex; + flex-wrap: nowrap; + height: @unit-4; + width: 100%; + + &.bar-sm { + height: @unit-1; + } + + // TODO: attr() support + .bar-item { + background: @primary-color; + color: @light-color; + display: block; + font-size: @font-size-sm; + flex-shrink: 0; + line-height: @unit-4; + height: 100%; + position: relative; + text-align: center; + width: 0; + + &:first-child { + border-bottom-left-radius: @border-radius; + border-top-left-radius: @border-radius; + } + &:last-child { + border-bottom-right-radius: @border-radius; + border-top-right-radius: @border-radius; + flex-shrink: 1; + } + } +} + +// Slider bar +.bar-slider { + height: @border-width-lg; + margin: @layout-spacing 0; + position: relative; + + .bar-item { + left: 0; + padding: 0; + position: absolute; + &:not(:last-child):first-child { + background: @bg-color-dark; + z-index: @zindex-0; + } + } + + .bar-slider-btn { + background: @primary-color; + border: 0; + border-radius: 50%; + height: @unit-3; + padding: 0; + position: absolute; + right: 0; + top: 50%; + transform: translate(50%, -50%); + width: @unit-3; + + &:active { + box-shadow: 0 0 0 .1rem @primary-color; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/base.less b/apps/server/src/view/less/spectre-less/src/base.less new file mode 100644 index 0000000..ba21bee --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/base.less @@ -0,0 +1,40 @@ +// Base +*, +*::before, +*::after { + box-sizing: inherit; +} + +html { + box-sizing: border-box; + font-size: @html-font-size; + line-height: @html-line-height; + -webkit-tap-highlight-color: transparent; +} + +body { + background: @body-bg; + color: @body-font-color; + font-family: @body-font-family; + font-size: @font-size; + overflow-x: hidden; + text-rendering: optimizeLegibility; +} + +a { + color: @link-color; + outline: none; + text-decoration: none; + + &:focus { + .control-shadow(); + } + + &:focus, + &:hover, + &:active, + &.active { + color: @link-color-dark; + text-decoration: underline; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/breadcrumbs.less b/apps/server/src/view/less/spectre-less/src/breadcrumbs.less new file mode 100644 index 0000000..0b0f757 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/breadcrumbs.less @@ -0,0 +1,29 @@ +// Breadcrumbs +.breadcrumb { + list-style: none; + margin: @unit-1 0; + padding: @unit-1 0; + + .breadcrumb-item { + color: @gray-color-dark; + display: inline-block; + margin: 0; + padding: @unit-1 0; + + &:not(:last-child) { + margin-right: @unit-1; + + a { + color: @gray-color-dark; + } + } + + &:not(:first-child) { + &::before { + color: @gray-color-light; + content: "/"; + padding-right: @unit-1; + } + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/buttons.less b/apps/server/src/view/less/spectre-less/src/buttons.less new file mode 100644 index 0000000..0c15d9e --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/buttons.less @@ -0,0 +1,182 @@ +// Buttons +.btn { + appearance: none; + background: @bg-color-light; + border: @border-width solid @primary-color; + border-radius: @border-radius; + color: @primary-color; + .control-transition(); + cursor: pointer; + display: inline-block; + font-size: @font-size; + height: @control-size; + line-height: @line-height; + outline: none; + padding: @control-padding-v @control-padding-h; + text-align: center; + text-decoration: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; + &:focus { + .control-shadow(); + } + &:focus, + &:hover { + background: @secondary-color; + border-color: @primary-color-dark; + text-decoration: none; + } + &:active, + &.active { + background: @primary-color-dark; + border-color: darken(@primary-color-dark, 5%); + color: @light-color; + text-decoration: none; + &.loading { + &::after { + border-bottom-color: @light-color; + border-left-color: @light-color; + } + } + } + &[disabled], + &:disabled, + &.disabled { + cursor: default; + opacity: .5; + pointer-events: none; + } + + // Button Primary + &.btn-primary { + background: @primary-color; + border-color: @primary-color-dark; + color: @light-color; + &:focus, + &:hover { + background: darken(@primary-color-dark, 2%); + border-color: darken(@primary-color-dark, 5%); + color: @light-color; + } + &:active, + &.active { + background: darken(@primary-color-dark, 4%); + border-color: darken(@primary-color-dark, 7%); + color: @light-color; + } + &.loading { + &::after { + border-bottom-color: @light-color; + border-left-color: @light-color; + } + } + } + + // Button Link + &.btn-link { + background: transparent; + border-color: transparent; + color: @link-color; + &:focus, + &:hover, + &:active, + &.active { + color: @link-color-dark; + } + } + + // Button Sizes + &.btn-sm { + font-size: @font-size-sm; + height: @control-size-sm; + padding: @control-padding-v-sm @control-padding-h * .75; + } + + &.btn-lg { + font-size: @font-size-lg; + height: @control-size-lg; + padding: @control-padding-v-lg @control-padding-h * 1.5; + } + + // Button Block + &.btn-block { + display: block; + width: 100%; + } + + // Button Action + &.btn-action { + width: @control-size; + padding-left: 0; + padding-right: 0; + + &.btn-sm { + width: @control-size-sm; + } + + &.btn-lg { + width: @control-size-lg; + } + } + + // Button Clear + &.btn-clear { + background: transparent; + border: 0; + color: currentColor; + height: @unit-4; + line-height: @unit-4; + margin-left: @unit-1; + margin-right: -2px; + opacity: .45; + padding: 0 2px; + text-decoration: none; + width: @unit-4; + + &:hover { + opacity: .85; + } + + &::before { + content: "\2715"; + } + } +} + +// Button groups +.btn-group { + display: inline-flex; + flex-wrap: wrap; + + .btn { + flex: 1 0 auto; + &:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + &:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -@border-width; + } + &:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -@border-width; + } + &:focus, + &:hover, + &:active, + &.active { + z-index: @zindex-0; + } + } + + &.btn-group-block { + display: flex; + + .btn { + flex: 1 0 0; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/calendars.less b/apps/server/src/view/less/spectre-less/src/calendars.less new file mode 100644 index 0000000..e5764ea --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/calendars.less @@ -0,0 +1,206 @@ +// Calendars +.calendar { + border: @border-width solid @border-color; + border-radius: @border-radius; + display: block; + min-width: 280px; + text-align: center; + + .calendar-nav { + align-items: center; + background: @bg-color; + border-top-left-radius: @border-radius; + border-top-right-radius: @border-radius; + display: flex; + font-size: @font-size-lg; + padding: @layout-spacing; + } + + .calendar-header, + .calendar-body { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: @layout-spacing 0; + + .calendar-date { + flex: 0 0 14.28%; // 7 calendar-items each row + max-width: 14.28%; + } + } + + .calendar-header { + background: @bg-color; + border-bottom: @border-width solid @border-color; + color: @gray-color; + font-size: @font-size-sm; + } + + .calendar-body { + color: @gray-color-dark; + } + + .calendar-date { + border: 0; + padding: @unit-1; + + .date-item { + appearance: none; + background: transparent; + border: @border-width solid transparent; + border-radius: 50%; + color: @gray-color-dark; + .control-transition(); + cursor: pointer; + height: @unit-7; + line-height: @unit-5; + outline: none; + padding: @unit-h; + position: relative; + text-align: center; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; + width: @unit-7; + + &.date-today { + border-color: @secondary-color-dark; + color: @primary-color; + } + + &:focus { + .control-shadow(); + } + + &:focus, + &:hover { + background: @secondary-color-light; + border-color: @secondary-color-dark; + color: @primary-color; + text-decoration: none; + } + &:active, + &.active { + background: @primary-color-dark; + border-color: darken(@primary-color-dark, 5%); + color: @light-color; + } + + // Calendar badge support + &.badge { + &::after { + position: absolute; + top: 3px; + right: 3px; + transform: translate(50%, -50%); + } + } + } + + &.disabled .date-item, + &.disabled .calendar-event, + .date-item:disabled, + .calendar-event:disabled { + cursor: default; + opacity: .25; + pointer-events: none; + } + } + + .calendar-range { + position: relative; + + &::before { + background: @secondary-color; + content: ""; + height: @unit-7; + left: 0; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + } + &.range-start { + &::before { + left: 50%; + } + } + &.range-end { + &::before { + right: 50%; + } + } + + .date-item { + color: @primary-color; + } + } + + &.calendar-lg { + .calendar-body { + padding: 0; + + .calendar-date { + border-bottom: @border-width solid @border-color; + border-right: @border-width solid @border-color; + display: flex; + flex-direction: column; + height: 5.5rem; + padding: 0; + + &:nth-child(7n) { + border-right: 0; + } + &:nth-last-child(-n+7) { + border-bottom: 0; + } + } + } + + .date-item { + align-self: flex-end; + height: @unit-7; + margin-right: @layout-spacing-sm; + margin-top: @layout-spacing-sm; + } + + .calendar-range { + &::before { + top: 19px; + } + &.range-start { + &::before { + left: auto; + width: 19px; + } + } + &.range-end { + &::before { + right: 19px; + } + } + } + + .calendar-events { + flex-grow: 1; + line-height: 1; + overflow-y: auto; + padding: @layout-spacing-sm; + } + + .calendar-event { + background: @secondary-color; + border-radius: @border-radius; + color: @primary-color; + font-size: @font-size-sm; + display: block; + margin: @unit-h auto; + overflow: hidden; + padding: 3px 4px; + text-align: left; + text-overflow: ellipsis; + vertical-align: baseline; + white-space: nowrap; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/cards.less b/apps/server/src/view/less/spectre-less/src/cards.less new file mode 100644 index 0000000..dadfa8b --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/cards.less @@ -0,0 +1,39 @@ +// Cards +.card { + background: @bg-color-light; + border: @border-width solid @border-color; + border-radius: @border-radius; + display: flex; + flex-direction: column; + + .card-header, + .card-body, + .card-footer { + padding: @layout-spacing-lg; + padding-bottom: 0; + + &:last-child { + padding-bottom: @layout-spacing-lg; + } + } + + .card-image { + padding-top: @layout-spacing-lg; + + &:first-child { + padding-top: 0; + + img { + border-top-left-radius: @border-radius; + border-top-right-radius: @border-radius; + } + } + + &:last-child { + img { + border-bottom-left-radius: @border-radius; + border-bottom-right-radius: @border-radius; + } + } + } +} \ No newline at end of file diff --git a/apps/server/src/view/less/spectre-less/src/carousels.less b/apps/server/src/view/less/spectre-less/src/carousels.less new file mode 100644 index 0000000..276bc1f --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/carousels.less @@ -0,0 +1,124 @@ +// Carousels +.carousel { + background: @bg-color; + display: block; + overflow: hidden; + position: relative; + width: 100%; + + .carousel-container { + height: 100%; + left: 0; + position: relative; + &::before { + content: ""; + display: block; + padding-bottom: 56.25%; + } + + .carousel-item { + animation: carousel-slideout 1s ease-in-out 1; + height: 100%; + left: 0; + margin: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; + + &:hover { + .item-prev, + .item-next { + opacity: 1; + } + } + } + + .item-prev, + .item-next { + background: fade(@gray-color-light, 25%); + border-color: fade(@gray-color-light, 50%); + color: @gray-color-light; + opacity: 0; + position: absolute; + top: 50%; + transition: all .4s ease; + transform: translateY(-50%); + z-index: @zindex-2; + } + .item-prev { + left: 1rem; + } + .item-next { + right: 1rem; + } + } + + .carousel-locator { + &:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), + &:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), + &:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), + &:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) { + animation: carousel-slidein .75s ease-in-out 1; + opacity: 1; + z-index: @zindex-1; + } + &:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), + &:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), + &:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), + &:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) { + color: @gray-color-light; + } + } + + .carousel-nav { + bottom: @layout-spacing; + display: flex; + justify-content: center; + left: 50%; + position: absolute; + transform: translateX(-50%); + width: 10rem; + z-index: @zindex-2; + + .nav-item { + color: fade(@gray-color-light, 50%); + display: block; + flex: 1 0 auto; + height: @unit-8; + margin: @unit-1; + max-width: 2.5rem; + position: relative; + + &::before { + background: currentColor; + content: ""; + display: block; + height: @border-width-lg; + position: absolute; + top: .5rem; + width: 100%; + } + } + } +} + +@keyframes carousel-slidein { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} + +@keyframes carousel-slideout { + 0% { + opacity: 1; + transform: translateX(0); + } + 100% { + opacity: 1; + transform: translateX(-50%); + } +} diff --git a/apps/server/src/view/less/spectre-less/src/chips.less b/apps/server/src/view/less/spectre-less/src/chips.less new file mode 100644 index 0000000..60ab726 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/chips.less @@ -0,0 +1,24 @@ +// Chips +.chip { + align-items: center; + background: @bg-color-dark; + border-radius: 5rem; + color: @gray-color-dark; + display: inline-flex; + height: @unit-6; + margin: @unit-h; + max-width: 100%; + padding: @unit-h @unit-2 + @unit-h; + text-decoration: none; + vertical-align: middle; + + &.active { + background: @primary-color; + color: @light-color; + } + + .avatar { + margin-left: -(@unit-2 + @unit-h); + margin-right: @unit-1; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/codes.less b/apps/server/src/view/less/spectre-less/src/codes.less new file mode 100644 index 0000000..e982e2b --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/codes.less @@ -0,0 +1,32 @@ +// Codes +code { + font-size: .65rem; + .label-base(); + .label-variant(@code-color, lighten(@code-color, 33%)); +} + +.code { + border-radius: @border-radius; + color: @body-font-color; + line-height: @line-height; + position: relative; + + &::before { + content: attr(data-lang); + color: @gray-color; + font-size: @font-size-sm; + position: absolute; + right: @layout-spacing; + top: @unit-h; + } + + code { + background: @bg-color; + color: inherit; + display: block; + line-height: inherit; + overflow-x: auto; + padding: 1rem; + width: 100%; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/comparison-sliders.less b/apps/server/src/view/less/spectre-less/src/comparison-sliders.less new file mode 100644 index 0000000..169caf4 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/comparison-sliders.less @@ -0,0 +1,114 @@ +// Image comparison slider +// Credit: http://codepen.io/solipsistacp/pen/Gpmaq +.comparison-slider { + height: 50vh; + overflow: hidden; + position: relative; + width: 100%; + + .comparison-before, + .comparison-after { + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; + + img { + height: 100%; + object-fit: none; + object-position: left center; + position: absolute; + width: 100%; + } + } + + .comparison-before { + width: 100%; + z-index: 1; + + .comparison-label { + right: @unit-4; + } + } + + .comparison-after { + max-width: 100%; + min-width: 0; + z-index: 2; + + &::before { + background: transparent; + content: ""; + cursor: default; + height: 100%; + left: 0; + position: absolute; + right: @unit-4; + top: 0; + z-index: @zindex-0; + } + + &::after { + background: currentColor; + border-radius: 50%; + box-shadow: 0 -5px, 0 5px; + color: @light-color; + content: ""; + height: 3px; + position: absolute; + right: @unit-2; + top: 50%; + transform: translate(50%, -50%); + width: 3px; + } + + .comparison-label { + left: @unit-4; + } + } + + .comparison-resizer { + animation: first-run 1.5s 1 ease-in-out; + cursor: ew-resize; + height: @unit-4; + left: 0; + max-width: 100%; + min-width: @unit-4; + opacity: 0; + outline: none; + position: relative; + resize: horizontal; + top: 50%; + transform: translateY(-50%) scaleY(30); + width: 0; + } + + .comparison-label { + background: fade(@dark-color, 50%); + bottom: @unit-4; + color: @light-color; + padding: @unit-1 @unit-2; + position: absolute; + user-select: none; + } +} + +@keyframes first-run { + 0% { + width: 0; + } + 25% { + width: @unit-12; + } + 50% { + width: @unit-4; + } + 75% { + width: @unit-6; + } + 100% { + width: 0; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/dropdowns.less b/apps/server/src/view/less/spectre-less/src/dropdowns.less new file mode 100644 index 0000000..c1684a0 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/dropdowns.less @@ -0,0 +1,36 @@ +// Dropdown +.dropdown { + display: inline-block; + position: relative; + + .menu { + animation: slide-down .15s ease 1; + display: none; + left: 0; + max-height: 50vh; + overflow-y: auto; + position: absolute; + top: 100%; + } + + &.dropdown-right { + .menu { + left: auto; + right: 0; + } + } + + &.active .menu, + .dropdown-toggle:focus + .menu, + .menu:hover { + display: block; + } + + // Fix dropdown-toggle border radius in button groups + .btn-group { + .dropdown-toggle:nth-last-child(2) { + border-bottom-right-radius: @border-radius; + border-top-right-radius: @border-radius; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/empty.less b/apps/server/src/view/less/spectre-less/src/empty.less new file mode 100644 index 0000000..b6cb1ae --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/empty.less @@ -0,0 +1,21 @@ +// Empty states (or Blank slates) +.empty { + background: @bg-color; + border-radius: @border-radius; + color: @gray-color-dark; + text-align: center; + padding: 4 * @layout-spacing; + + .empty-icon { + margin-bottom: @layout-spacing-lg; + } + + .empty-title, + .empty-subtitle { + margin: @layout-spacing auto; + } + + .empty-action { + margin-top: @layout-spacing-lg; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/filters.less b/apps/server/src/view/less/spectre-less/src/filters.less new file mode 100644 index 0000000..e417081 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/filters.less @@ -0,0 +1,29 @@ +// Filters +.filter { + .filter-nav { + margin: @layout-spacing 0; + } + + .filter-body { + display: flex; + flex-wrap: wrap; + } + + .filter-tag { + &#tag-all:checked ~ .filter-nav .chip[for="tag-all"], + &#tag-action:checked ~ .filter-nav .chip[for="tag-action"], + &#tag-roleplaying:checked ~ .filter-nav .chip[for="tag-roleplaying"], + &#tag-shooter:checked ~ .filter-nav .chip[for="tag-shooter"], + &#tag-sports:checked ~ .filter-nav .chip[for="tag-sports"] { + background: @primary-color; + color: @light-color; + } + + &#tag-action:checked ~ .filter-body .column:not([data-tag~="tag-action"]), + &#tag-roleplaying:checked ~ .filter-body .column:not([data-tag~="tag-roleplaying"]), + &#tag-shooter:checked ~ .filter-body .column:not([data-tag~="tag-shooter"]), + &#tag-sports:checked ~ .filter-body .column:not([data-tag~="tag-sports"]) { + display: none; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/forms.less b/apps/server/src/view/less/spectre-less/src/forms.less new file mode 100644 index 0000000..7ed91e6 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/forms.less @@ -0,0 +1,514 @@ +// Forms +.form-group { + &:not(:last-child) { + margin-bottom: @layout-spacing; + } +} + +fieldset { + margin-bottom: @layout-spacing-lg; +} + +legend { + font-size: @font-size-lg; + font-weight: 500; + margin-bottom: @layout-spacing-lg; +} + +// Form element: Label +.form-label { + display: block; + padding: @control-padding-v + @border-width 0; + + &.label-sm { + padding: @control-padding-v-sm + @border-width 0; + } + + &.label-lg { + padding: @control-padding-v-lg + @border-width 0; + } +} + +// Form element: Input +.form-input { + appearance: none; + background: @bg-color-light; + background-image: none; + border: @border-width solid @border-color-dark; + border-radius: @border-radius; + color: @body-font-color; + .control-transition(); + display: block; + font-size: @font-size; + height: @control-size; + line-height: @line-height; + max-width: 100%; + outline: none; + padding: @control-padding-v @control-padding-h; + position: relative; + width: 100%; + &:focus { + border-color: @primary-color; + .control-shadow(); + } + &::placeholder { + color: @gray-color; + } + + // Input sizes + &.input-sm { + font-size: @font-size-sm; + height: @control-size-sm; + padding: @control-padding-v-sm @control-padding-h; + } + + &.input-lg { + font-size: @font-size-lg; + height: @control-size-lg; + padding: @control-padding-v-lg @control-padding-h; + } + + &.input-inline { + display: inline-block; + vertical-align: middle; + width: auto; + } + + // Textarea + textarea& { + height: auto; + } + + // Input types + &[type="file"] { + height: auto; + } +} + +// Form element: Input hint +.form-input-hint { + color: @gray-color; + font-size: @font-size-sm; + margin-top: @unit-1; + + .has-success &, + .is-success + & { + color: @success-color; + } + + .has-error &, + .is-error + & { + color: @error-color; + } +} + +// Form element: Select +.form-select { + appearance: none; + border: @border-width solid @border-color-dark; + border-radius: @border-radius; + color: inherit; + font-size: @font-size; + height: @control-size; + line-height: @line-height; + outline: none; + padding: @control-padding-v @control-padding-h; + vertical-align: middle; + width: 100%; + + &[size], + &[multiple] { + height: auto; + + option { + padding: @unit-h @unit-1; + } + } + &:not([multiple]):not([size]) { + background: @bg-color-light url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23667189' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right (@control-icon-size / 2) center / .4rem .5rem; + padding-right: @control-icon-size + @control-padding-h; + } + &:focus { + border-color: @primary-color; + .control-shadow(); + } + &::-ms-expand { + display: none; + } + + // Select sizes + &.select-sm { + font-size: @font-size-sm; + height: @control-size-sm; + padding: @control-padding-v-sm (@control-icon-size + @control-padding-h) @control-padding-v-sm @control-padding-h; + } + + &.select-lg { + font-size: @font-size-lg; + height: @control-size-lg; + padding: @control-padding-v-lg (@control-icon-size + @control-padding-h) @control-padding-v-lg @control-padding-h; + } +} + +// Form Icons +.has-icon-left, +.has-icon-right { + position: relative; + + .form-icon { + height: @control-icon-size; + margin: 0 @control-padding-v; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: @control-icon-size; + } +} + +.has-icon-left { + .form-icon { + left: @border-width; + } + + .form-input { + padding-left: @control-icon-size + @control-padding-v * 2; + } +} + +.has-icon-right { + .form-icon { + right: @border-width; + } + + .form-input { + padding-right: @control-icon-size + @control-padding-v * 2; + } +} + +// Form element: Checkbox and Radio +.form-checkbox, +.form-radio, +.form-switch { + display: inline-block; + line-height: @line-height; + padding: (@control-size-sm - @line-height) / 2 (@control-icon-size + @control-padding-h); + position: relative; + + input { + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + position: absolute; + width: 1px; + &:focus + .form-icon { + border-color: @primary-color; + .control-shadow(); + } + &:checked + .form-icon { + background: @primary-color; + border-color: @primary-color; + } + } + + .form-icon { + border: @border-width solid @border-color-dark; + .control-transition(); + cursor: pointer; + display: inline-block; + position: absolute; + } +} + +.form-checkbox, +.form-radio { + .form-icon { + background: @bg-color-light; + height: @control-icon-size; + left: 0; + top: (@control-size-sm - @control-icon-size) / 2; + width: @control-icon-size; + } + + input { + &:active + .form-icon { + background: @bg-color-dark; + } + } +} +.form-checkbox { + .form-icon { + border-radius: @border-radius; + } + + input { + &:checked + .form-icon { + &::before { + background-clip: padding-box; + border: @border-width-lg solid @light-color; + border-left-width: 0; + border-top-width: 0; + content: ""; + height: 10px; + left: 50%; + margin-left: -3px; + margin-top: -6px; + position: absolute; + top: 50%; + transform: rotate(45deg); + width: 6px; + } + } + &:indeterminate + .form-icon { + background: @primary-color; + border-color: @primary-color; + &::before { + background: @bg-color-light; + content: ""; + height: 2px; + left: 50%; + margin-left: -5px; + margin-top: -1px; + position: absolute; + top: 50%; + width: 10px; + } + } + } +} +.form-radio { + .form-icon { + border-radius: @control-icon-size / 2; + } + + input { + &:checked + .form-icon { + &::before { + background: @bg-color-light; + border-radius: @border-radius; + content: ""; + height: 4px; + left: 50%; + margin-left: -2px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 4px; + } + } + } +} + +// Form element: Switch +.form-switch { + padding-left: (@unit-8 + @control-padding-h); + + .form-icon { + background: @gray-color-light; + background-clip: padding-box; + border-radius: @unit-2 + @border-width; + height: @unit-4 + @border-width * 2; + left: 0; + top: (@control-size-sm - @unit-4) / 2 - @border-width; + width: @unit-8; + &::before { + background: @bg-color-light; + border-radius: @unit-2; + content: ""; + display: block; + height: @unit-4; + left: 0; + position: absolute; + top: 0; + .control-transition(); + width: @unit-4; + } + } + + input { + &:checked + .form-icon { + &::before { + left: 14px; + } + } + &:active + .form-icon { + &::before { + background: @bg-color; + } + } + } +} + +// Form element: Input groups +.input-group { + display: flex; + + .input-group-addon { + background: @bg-color; + border: @border-width solid @border-color-dark; + border-radius: @border-radius; + line-height: @line-height; + padding: @control-padding-v @control-padding-h; + + &.addon-sm { + font-size: @font-size-sm; + padding: @control-padding-v-sm @control-padding-h; + } + &.addon-lg { + font-size: @font-size-lg; + padding: @control-padding-v-lg @control-padding-h; + } + } + + .form-input, + .form-select { + flex: 1 1 auto; + } + + .input-group-btn { + z-index: @zindex-0; + } + + .form-input, + .form-select, + .input-group-addon, + .input-group-btn { + &:first-child:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + &:not(:first-child):not(:last-child) { + border-radius: 0; + margin-left: -@border-width; + } + &:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -@border-width; + } + &:focus { + z-index: @zindex-0 + 1; + } + } + + .form-select { + width: auto; + } + + &.input-inline { + display: inline-flex; + } +} + +// Form validation states +.form-input, +.form-select { + .has-success &, + &.is-success { + border-color: @success-color; + &:focus { + .control-shadow(@success-color); + } + } + + .has-error &, + &.is-error { + border-color: @error-color; + &:focus { + .control-shadow(@error-color); + } + } +} + +.form-checkbox, +.form-radio, +.form-switch { + .has-error &, + &.is-error { + .form-icon { + border-color: @error-color; + } + + input { + &:checked + .form-icon { + background: @error-color; + border-color: @error-color; + } + + &:focus + .form-icon { + border-color: @error-color; + .control-shadow(@error-color); + } + } + } +} + +// validation based on :placeholder-shown (Edge doesn't support it yet) +.form-input { + &:not(:placeholder-shown) { + &:invalid { + border-color: @error-color; + &:focus { + .control-shadow(@error-color); + } + + & + .form-input-hint { + color: @error-color; + } + } + } +} + +// Form disabled and readonly +.form-input, +.form-select { + &:disabled, + &.disabled { + background-color: @bg-color-dark; + cursor: not-allowed; + opacity: .5; + } +} + +.form-input { + &[readonly] { + background-color: @bg-color; + } +} + +input { + &:disabled, + &.disabled { + & + .form-icon { + background: @bg-color-dark; + cursor: not-allowed; + opacity: .5; + } + } +} + +.form-switch { + input { + &:disabled, + &.disabled { + & + .form-icon::before { + background: @bg-color-light; + } + } + } +} + +// Form Horizontal +.form-horizontal { + padding: @layout-spacing; + + .form-group { + display: flex; + } + + .form-checkbox, + .form-radio, + .form-switch { + margin: (@control-size - @control-size-sm) / 2 0; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/icons.less b/apps/server/src/view/less/spectre-less/src/icons.less new file mode 100644 index 0000000..ca7672d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/icons.less @@ -0,0 +1,656 @@ +// CSS Icons +@icon-border-width: @border-width-lg; + +.icon { + box-sizing: border-box; + display: inline-block; + font-size: inherit; + font-style: normal; + height: 1em; + position: relative; + text-indent: -9999px; + vertical-align: middle; + width: 1em; + &::before, + &::after { + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + } +} + +// Icon arrows +.icon-arrow-down, +.icon-arrow-left, +.icon-arrow-right, +.icon-arrow-up, +.icon-downward, +.icon-back, +.icon-forward, +.icon-upward { + &::before { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: .65em; + width: .65em; + } +} + +.icon-arrow-down { + &::before { + transform: translate(-50%, -75%) rotate(225deg); + } +} + +.icon-arrow-left { + &::before { + transform: translate(-25%, -50%) rotate(-45deg); + } +} + +.icon-arrow-right { + &::before { + transform: translate(-75%, -50%) rotate(135deg); + } +} + +.icon-arrow-up { + &::before { + transform: translate(-50%, -25%) rotate(45deg); + } +} + +.icon-back, +.icon-forward { + &::after { + background: currentColor; + content: ""; + height: @icon-border-width; + width: .8em; + } +} + +.icon-downward, +.icon-upward { + &::after { + background: currentColor; + content: ""; + height: .8em; + width: @icon-border-width; + } +} + +.icon-back { + &::after { + left: 55%; + } + &::before { + transform: translate(-50%, -50%) rotate(-45deg); + } +} + +.icon-downward { + &::after { + top: 45%; + } + &::before { + transform: translate(-50%, -50%) rotate(-135deg); + } +} + +.icon-forward { + &::after { + left: 45%; + } + &::before { + transform: translate(-50%, -50%) rotate(135deg); + } +} + +.icon-upward { + &::after { + top: 55%; + } + &::before { + transform: translate(-50%, -50%) rotate(45deg); + } +} + +// Icon caret +.icon-caret { + &::before { + border-top: .3em solid currentColor; + border-right: .3em solid transparent; + border-left: .3em solid transparent; + content: ""; + height: 0; + width: 0; + transform: translate(-50%, -25%); + } +} + +// Icon menu +.icon-menu { + &::before { + background: currentColor; + box-shadow: 0 -.35em, 0 .35em; + content: ""; + height: @icon-border-width; + width: 100%; + } +} + +// Icon apps +.icon-apps { + &::before { + background: currentColor; + box-shadow: -.35em -.35em, -.35em 0, -.35em .35em, 0 -.35em, 0 .35em, .35em -.35em, .35em 0, .35em .35em; + content: ""; + height: 3px; + width: 3px; + } +} + +// Icon resize +.icon-resize-horiz, +.icon-resize-vert { + &::before, + &::after { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: .45em; + width: .45em; + } + &::before { + transform: translate(-50%, -90%) rotate(45deg); + } + &::after { + transform: translate(-50%, -10%) rotate(225deg); + } +} + +.icon-resize-horiz { + &::before { + transform: translate(-90%, -50%) rotate(-45deg); + } + &::after { + transform: translate(-10%, -50%) rotate(135deg); + } +} + +// Icon more +.icon-more-horiz, +.icon-more-vert { + &::before { + background: currentColor; + box-shadow: -.4em 0, .4em 0; + border-radius: 50%; + content: ""; + height: 3px; + width: 3px; + } +} +.icon-more-vert { + &::before { + box-shadow: 0 -.4em, 0 .4em; + } +} + +// Icon plus, minus, cross +.icon-plus, +.icon-minus, +.icon-cross { + &::before { + background: currentColor; + content: ""; + height: @icon-border-width; + width: 100%; + } +} +.icon-plus, +.icon-cross { + &::after { + background: currentColor; + content: ""; + height: 100%; + width: @icon-border-width; + } +} +.icon-cross { + &::before { + width: 100%; + } + &::after { + height: 100%; + } + &::before, + &::after { + transform: translate(-50%, -50%) rotate(45deg); + } +} + +// Icon check +.icon-check { + &::before { + border: @icon-border-width solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: .5em; + width: .9em; + transform: translate(-50%, -75%) rotate(-45deg); + } +} + +// Icon stop +.icon-stop { + border: @icon-border-width solid currentColor; + border-radius: 50%; + &::before { + background: currentColor; + content: ""; + height: @icon-border-width; + transform: translate(-50%, -50%) rotate(45deg); + width: 1em; + } +} + +// Icon shutdown +.icon-shutdown { + border: @icon-border-width solid currentColor; + border-radius: 50%; + border-top-color: transparent; + &::before { + background: currentColor; + content: ""; + height: .5em; + top: .1em; + width: @icon-border-width; + } +} + +// Icon refresh +.icon-refresh { + &::before { + border: @icon-border-width solid currentColor; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: 1em; + width: 1em; + } + &::after { + border: .2em solid currentColor; + border-top-color: transparent; + border-left-color: transparent; + content: ""; + height: 0; + left: 80%; + top: 20%; + width: 0; + } +} + +// Icon search +.icon-search { + &::before { + border: @icon-border-width solid currentColor; + border-radius: 50%; + content: ""; + height: .75em; + left: 5%; + top: 5%; + transform: translate(0, 0) rotate(45deg); + width: .75em; + } + &::after { + background: currentColor; + content: ""; + height: @icon-border-width; + left: 80%; + top: 80%; + transform: translate(-50%, -50%) rotate(45deg); + width: .4em; + } +} + +// Icon edit +.icon-edit { + &::before { + border: @icon-border-width solid currentColor; + content: ""; + height: .4em; + transform: translate(-40%, -60%) rotate(-45deg); + width: .85em; + } + &::after { + border: .15em solid currentColor; + border-top-color: transparent; + border-right-color: transparent; + content: ""; + height: 0; + left: 5%; + top: 95%; + transform: translate(0, -100%); + width: 0; + } +} + +// Icon delete +.icon-delete { + &::before { + border: @icon-border-width solid currentColor; + border-bottom-left-radius: @border-radius; + border-bottom-right-radius: @border-radius; + border-top: 0; + content: ""; + height: .75em; + top: 60%; + width: .75em; + } + &::after { + background: currentColor; + box-shadow: -.25em .2em, .25em .2em; + content: ""; + height: @icon-border-width; + top: @icon-border-width/2; + width: .5em; + } +} + +// Icon share +.icon-share { + border: @icon-border-width solid currentColor; + border-radius: @border-radius; + border-right: 0; + border-top: 0; + &::before { + border: @icon-border-width solid currentColor; + border-left: 0; + border-top: 0; + content: ""; + height: .4em; + left: 100%; + top: .25em; + transform: translate(-125%, -50%) rotate(-45deg); + width: .4em; + } + &::after { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-right: 0; + border-radius: 75% 0; + content: ""; + height: .5em; + width: .6em; + } +} + +// Icon flag +.icon-flag { + &::before { + background: currentColor; + content: ""; + height: 1em; + left: 15%; + width: @icon-border-width; + } + &::after { + border: @icon-border-width solid currentColor; + border-bottom-right-radius: @border-radius; + border-left: 0; + border-top-right-radius: @border-radius; + content: ""; + height: .65em; + top: 35%; + left: 60%; + width: .8em; + } +} + +// Icon bookmark +.icon-bookmark { + &::before { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-top-left-radius: @border-radius; + border-top-right-radius: @border-radius; + content: ""; + height: .9em; + width: .8em; + } + &::after { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-left: 0; + border-radius: @border-radius; + content: ""; + height: .5em; + transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); + width: .5em; + } +} + +// Icon download & upload +.icon-download, +.icon-upload { + border-bottom: @icon-border-width solid currentColor; + &::before { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-right: 0; + content: ""; + height: .5em; + width: .5em; + transform: translate(-50%, -60%) rotate(-135deg); + } + &::after { + background: currentColor; + content: ""; + height: .6em; + top: 40%; + width: @icon-border-width; + } +} + +.icon-upload { + &::before { + transform: translate(-50%, -60%) rotate(45deg); + } + &::after { + top: 50%; + } +} + +// Icon time +.icon-time { + border: @icon-border-width solid currentColor; + border-radius: 50%; + &::before { + background: currentColor; + content: ""; + height: .4em; + transform: translate(-50%, -75%); + width: @icon-border-width; + } + &::after { + background: currentColor; + content: ""; + height: .3em; + transform: translate(-50%, -75%) rotate(90deg); + transform-origin: 50% 90%; + width: @icon-border-width; + } +} + +// Icon mail +.icon-mail { + &::before { + border: @icon-border-width solid currentColor; + border-radius: @border-radius; + content: ""; + height: .8em; + width: 1em; + } + &::after { + border: @icon-border-width solid currentColor; + border-right: 0; + border-top: 0; + content: ""; + height: .5em; + transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); + width: .5em; + } +} + +// Icon people +.icon-people { + &::before { + border: @icon-border-width solid currentColor; + border-radius: 50%; + content: ""; + height: .45em; + top: 25%; + width: .45em; + } + &::after { + border: @icon-border-width solid currentColor; + border-radius: 50% 50% 0 0; + content: ""; + height: .4em; + top: 75%; + width: .9em; + } +} + +// Icon message +.icon-message { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-radius: @border-radius; + border-right: 0; + &::before { + border: @icon-border-width solid currentColor; + border-left: 0; + border-bottom-right-radius: @border-radius; + border-top: 0; + content: ""; + height: .8em; + left: 65%; + top: 40%; + width: .7em; + } + &::after { + background: currentColor; + border-radius: @border-radius; + content: ""; + height: .3em; + left: 10%; + top: 100%; + transform: translate(0, -90%) rotate(45deg); + width: @icon-border-width; + } +} + +// Icon photo +.icon-photo { + border: @icon-border-width solid currentColor; + border-radius: @border-radius; + &::before { + border: @icon-border-width solid currentColor; + border-radius: 50%; + content: ""; + height: .25em; + left: 35%; + top: 35%; + width: .25em; + } + &::after { + border: @icon-border-width solid currentColor; + border-bottom: 0; + border-left: 0; + content: ""; + height: .5em; + left: 60%; + transform: translate(-50%, 25%) rotate(-45deg); + width: .5em; + } +} + +// Icon link +.icon-link { + &::before, + &::after { + border: @icon-border-width solid currentColor; + border-radius: 5em 0 0 5em; + border-right: 0; + content: ""; + height: .5em; + width: .75em; + } + &::before { + transform: translate(-70%, -45%) rotate(-45deg); + } + &::after { + transform: translate(-30%, -55%) rotate(135deg); + } +} + +// Icon location +.icon-location { + &::before { + border: @icon-border-width solid currentColor; + border-radius: 50% 50% 50% 0; + content: ""; + height: .8em; + transform: translate(-50%, -60%) rotate(-45deg); + width: .8em; + } + &::after { + border: @icon-border-width solid currentColor; + border-radius: 50%; + content: ""; + height: .2em; + transform: translate(-50%, -80%); + width: .2em; + } +} + +// Icon emoji +.icon-emoji { + border: @icon-border-width solid currentColor; + border-radius: 50%; + &::before { + border-radius: 50%; + box-shadow: -.17em -.15em, .17em -.15em; + content: ""; + height: .1em; + width: .1em; + } + &::after { + border: @icon-border-width solid currentColor; + border-bottom-color: transparent; + border-radius: 50%; + border-right-color: transparent; + content: ""; + height: .5em; + transform: translate(-50%, -40%) rotate(-135deg); + width: .5em; + } +} + +// Component icon support +.accordion, +.btn, +.toast, +.menu { + .icon { + vertical-align: -10%; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/labels.less b/apps/server/src/view/less/spectre-less/src/labels.less new file mode 100644 index 0000000..efeb89d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/labels.less @@ -0,0 +1,33 @@ +// Labels +.label { + display: inline-block; + .label-base(); + .label-variant(lighten(@body-font-color, 5%), @bg-color); + line-height: 1; + + &.label-rounded { + border-radius: 5rem; + padding-left: .4rem; + padding-right: .4rem; + } + + &.label-primary { + .label-variant(@light-color, @primary-color); + } + + &.label-secondary { + .label-variant(@primary-color, @secondary-color); + } + + &.label-success { + .label-variant(@light-color, @success-color); + } + + &.label-warning { + .label-variant(@light-color, @warning-color); + } + + &.label-error { + .label-variant(@light-color, @error-color); + } +} diff --git a/apps/server/src/view/less/spectre-less/src/layout.less b/apps/server/src/view/less/spectre-less/src/layout.less new file mode 100644 index 0000000..7fd2c60 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/layout.less @@ -0,0 +1,422 @@ +// Layout +.container { + margin-left: auto; + margin-right: auto; + padding-left: @layout-spacing; + padding-right: @layout-spacing; + width: 100%; + &:extend(.clearfix all); + + &.grid-xl { + max-width: @size-xl + 2 * @layout-spacing * @html-font-size; + } + + &.grid-lg { + max-width: @size-lg + 2 * @layout-spacing * @html-font-size; + } + + &.grid-md { + max-width: @size-md + 2 * @layout-spacing * @html-font-size; + } + + &.grid-sm { + max-width: @size-sm + 2 * @layout-spacing * @html-font-size; + } + + &.grid-xs { + max-width: @size-xs + 2 * @layout-spacing * @html-font-size; + } +} + +// Responsive breakpoint system +.show-xs, +.show-sm, +.show-md, +.show-lg, +.show-xl { + display: none !important; +} + +// Responsive grid system +.columns { + display: flex; + flex-wrap: wrap; + margin-left: -@layout-spacing; + margin-right: -@layout-spacing; + + &.col-gapless { + margin-left: 0; + margin-right: 0; + + & > .column { + padding-left: 0; + padding-right: 0; + } + } + &.col-oneline { + flex-wrap: nowrap; + overflow-x: auto; + } +} +.column { + flex: 1; + max-width: 100%; + padding-left: @layout-spacing; + padding-right: @layout-spacing; + + &.col-12, + &.col-11, + &.col-10, + &.col-9, + &.col-8, + &.col-7, + &.col-6, + &.col-5, + &.col-4, + &.col-3, + &.col-2, + &.col-1 { + flex: none; + } +} +.col-12 { + width: 100%; +} +.col-11 { + width: 91.66666667%; +} +.col-10 { + width: 83.33333333%; +} +.col-9 { + width: 75%; +} +.col-8 { + width: 66.66666667%; +} +.col-7 { + width: 58.33333333%; +} +.col-6 { + width: 50%; +} +.col-5 { + width: 41.66666667%; +} +.col-4 { + width: 33.33333333%; +} +.col-3 { + width: 25%; +} +.col-2 { + width: 16.66666667%; +} +.col-1 { + width: 8.33333333%; +} +.col-auto { + flex: 0 0 auto; + max-width: none; + width: auto; +} +.col-mx-auto { + margin-left: auto; + margin-right: auto; +} +.col-ml-auto { + margin-left: auto; +} +.col-mr-auto { + margin-right: auto; +} +@media screen and (max-width: @size-xl ) { + .col-xl-12, + .col-xl-11, + .col-xl-10, + .col-xl-9, + .col-xl-8, + .col-xl-7, + .col-xl-6, + .col-xl-5, + .col-xl-4, + .col-xl-3, + .col-xl-2, + .col-xl-1 { + flex: none; + } + .col-xl-12 { + width: 100%; + } + .col-xl-11 { + width: 91.66666667%; + } + .col-xl-10 { + width: 83.33333333%; + } + .col-xl-9 { + width: 75%; + } + .col-xl-8 { + width: 66.66666667%; + } + .col-xl-7 { + width: 58.33333333%; + } + .col-xl-6 { + width: 50%; + } + .col-xl-5 { + width: 41.66666667%; + } + .col-xl-4 { + width: 33.33333333%; + } + .col-xl-3 { + width: 25%; + } + .col-xl-2 { + width: 16.66666667%; + } + .col-xl-1 { + width: 8.33333333%; + } + .hide-xl { + display: none !important; + } + .show-xl { + display: block !important; + } +} +@media screen and (max-width: @size-lg ) { + .col-lg-12, + .col-lg-11, + .col-lg-10, + .col-lg-9, + .col-lg-8, + .col-lg-7, + .col-lg-6, + .col-lg-5, + .col-lg-4, + .col-lg-3, + .col-lg-2, + .col-lg-1 { + flex: none; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .hide-lg { + display: none !important; + } + .show-lg { + display: block !important; + } +} +@media screen and (max-width: @size-md ) { + .col-md-12, + .col-md-11, + .col-md-10, + .col-md-9, + .col-md-8, + .col-md-7, + .col-md-6, + .col-md-5, + .col-md-4, + .col-md-3, + .col-md-2, + .col-md-1 { + flex: none; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .hide-md { + display: none !important; + } + .show-md { + display: block !important; + } +} +@media screen and (max-width: @size-sm ) { + .col-sm-12, + .col-sm-11, + .col-sm-10, + .col-sm-9, + .col-sm-8, + .col-sm-7, + .col-sm-6, + .col-sm-5, + .col-sm-4, + .col-sm-3, + .col-sm-2, + .col-sm-1 { + flex: none; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .hide-sm { + display: none !important; + } + .show-sm { + display: block !important; + } +} +@media screen and (max-width: @size-xs) { + .col-xs-12, + .col-xs-11, + .col-xs-10, + .col-xs-9, + .col-xs-8, + .col-xs-7, + .col-xs-6, + .col-xs-5, + .col-xs-4, + .col-xs-3, + .col-xs-2, + .col-xs-1 { + flex: none; + } + .col-xs-12 { + width: 100%; + } + .col-xs-11 { + width: 91.66666667%; + } + .col-xs-10 { + width: 83.33333333%; + } + .col-xs-9 { + width: 75%; + } + .col-xs-8 { + width: 66.66666667%; + } + .col-xs-7 { + width: 58.33333333%; + } + .col-xs-6 { + width: 50%; + } + .col-xs-5 { + width: 41.66666667%; + } + .col-xs-4 { + width: 33.33333333%; + } + .col-xs-3 { + width: 25%; + } + .col-xs-2 { + width: 16.66666667%; + } + .col-xs-1 { + width: 8.33333333%; + } + .hide-xs { + display: none !important; + } + .show-xs { + display: block !important; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/media.less b/apps/server/src/view/less/spectre-less/src/media.less new file mode 100644 index 0000000..a55b8cb --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/media.less @@ -0,0 +1,70 @@ +// Media +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} + +// object-fit support is coming to Microsoft Edge +// https://developer.microsoft.com/en-us/microsoft-edge/platform/status/objectfitandobjectposition/ +.img-fit-cover { + object-fit: cover; +} + +.img-fit-contain { + object-fit: contain; +} + +// Video responsive +.video-responsive { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; + + &::before { + content: ""; + display: block; + padding-bottom: 56.25%; // Default ratio 16:9, you can calculate this value by dividing 9 by 16 + } + + iframe, + object, + embed { + border: 0; + bottom: 0; + height: 100%; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; + } + video { + height: auto; + max-width: 100%; + width: 100%; + } +} + +.video-responsive-4-3 { + &::before { + padding-bottom: 75%; // Ratio 4:3 + } +} + +.video-responsive-1-1 { + &::before { + padding-bottom: 100%; // Ratio 1:1 + } +} + +.figure { + margin: 0 0 @layout-spacing 0; + + .figure-caption { + color: @gray-color-dark; + margin-top: @layout-spacing; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/menus.less b/apps/server/src/view/less/spectre-less/src/menus.less new file mode 100644 index 0000000..109dc92 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/menus.less @@ -0,0 +1,56 @@ +// Menus +.menu { + background: @bg-color-light; + border-radius: @border-radius; + list-style: none; + margin: 0; + min-width: @control-min-width; + padding: @unit-2; + .shadow-variant(.05rem); + transform: translateY(@layout-spacing-sm); + z-index: @zindex-1; + + &.menu-nav { + background: transparent; + box-shadow: none; + } + + .menu-item { + margin-top: 0; + padding: 0 @unit-2; + text-decoration: none; + user-select: none; + + & > a { + border-radius: @border-radius; + color: inherit; + display: block; + margin: 0 -@unit-2; + padding: @unit-1 @unit-2; + text-decoration: none; + &:focus, + &:hover { + background: @secondary-color; + color: @primary-color; + } + &:active, + &.active { + background: @secondary-color; + color: @primary-color; + } + } + + & + .menu-item { + margin-top: @unit-1; + } + } + + .menu-badge { + float: right; + padding: @unit-1 0; + + .btn { + margin-top: -@unit-h; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/meters.less b/apps/server/src/view/less/spectre-less/src/meters.less new file mode 100644 index 0000000..d0b2b59 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/meters.less @@ -0,0 +1,57 @@ +// Meters +// Credit: https://css-tricks.com/html5-meter-element/ +.meter { + appearance: none; + background: @bg-color; + border: 0; + border-radius: @border-radius; + display: block; + width: 100%; + height: @unit-4; + + &::-webkit-meter-inner-element { + display: block; + } + + &::-webkit-meter-bar, + &::-webkit-meter-optimum-value, + &::-webkit-meter-suboptimum-value, + &::-webkit-meter-even-less-good-value { + border-radius: @border-radius; + } + + &::-webkit-meter-bar { + background: @bg-color; + } + + &::-webkit-meter-optimum-value { + background: @success-color; + } + + &::-webkit-meter-suboptimum-value { + background: @warning-color; + } + + &::-webkit-meter-even-less-good-value { + background: @error-color; + } + + &::-moz-meter-bar, + &:-moz-meter-optimum, + &:-moz-meter-sub-optimum, + &:-moz-meter-sub-sub-optimum { + border-radius: @border-radius; + } + + &:-moz-meter-optimum::-moz-meter-bar { + background: @success-color; + } + + &:-moz-meter-sub-optimum::-moz-meter-bar { + background: @warning-color; + } + + &:-moz-meter-sub-sub-optimum::-moz-meter-bar { + background: @error-color; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/mixins.less b/apps/server/src/view/less/spectre-less/src/mixins.less new file mode 100644 index 0000000..8cbb3f5 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/mixins.less @@ -0,0 +1,175 @@ +// Mixins +// Avatar mixin +.avatar-base(@size: @unit-8) { + font-size: @size / 2; + height: @size; + width: @size; +} + +// Background color utility mixin +.bg-color-variant(@color: @primary-color) { + background: @color; +} + +// Button variant mixin +.button-variant(@color: @primary-color) { + background: @color; + border-color: darken(@color, 3%); + color: @light-color; + &:focus { + .control-shadow(@color); + } + &:focus, + &:hover { + background: darken(@color, 2%); + border-color: darken(@color, 5%); + color: @light-color; + } + &:active, + &.active { + background: darken(@color, 7%); + border-color: darken(@color, 10%); + color: @light-color; + } + &.loading { + &::after { + border-bottom-color: @light-color; + border-left-color: @light-color; + } + } +} + +.button-outline-variant(@color: @primary-color) { + background: @light-color; + border-color: @color; + color: @color; + &:focus { + .control-shadow(@color); + } + &:focus, + &:hover { + background: lighten(@color, 50%); + border-color: darken(@color, 2%); + color: @color; + } + &:active, + &.active { + background: @color; + border-color: darken(@color, 5%); + color: @light-color; + } + &.loading { + &::after { + border-bottom-color: @color; + border-left-color: @color; + } + } +} + +// Clearfix mixin +.clearfix() { + &::after { + clear: both; + content: ""; + display: table; + } +} + +// Component focus shadow +.control-shadow(@color: @primary-color) { + box-shadow: 0 0 0 .1rem fade(@color, 20%); +} + +// Component transition +.control-transition() { + transition: all .2s ease; +} + +// Label base style +.label-base() { + border-radius: @border-radius; + line-height: 1; + padding: .15rem .2rem; +} + +.label-variant(@color: @light-color, @bg-color: @primary-color) { + background: @bg-color; + color: @color; +} + +// Margin utility mixin +.margin-variant(@id: 1, @size: 1) { + .m-@{id} { + margin: @size; + } + .mb-@{id} { + margin-bottom: @size; + } + .ml-@{id} { + margin-left: @size; + } + .mr-@{id} { + margin-right: @size; + } + .mt-@{id} { + margin-top: @size; + } + .mx-@{id} { + margin-left: @size; + margin-right: @size; + } + .my-@{id} { + margin-bottom: @size; + margin-top: @size; + } +} + +// Padding utility mixin +.padding-variant(@id: 1, @size: 1) { + .p-@{id} { + padding: @size; + } + .pb-@{id} { + padding-bottom: @size; + } + .pl-@{id} { + padding-left: @size; + } + .pr-@{id} { + padding-right: @size; + } + .pt-@{id} { + padding-top: @size; + } + .px-@{id} { + padding-left: @size; + padding-right: @size; + } + .py-@{id} { + padding-bottom: @size; + padding-top: @size; + } +} + +// Shadow mixin +.shadow-variant(@offset) { + box-shadow: 0 @offset (@offset + .05rem) * 2 fade(@dark-color, 30%); +} + +// Text color utility mixin +.text-color-variant(@color: @primary-color) { + color: @color; + + a& { + &:focus, + &:hover { + color: darken(@color, 5%); + } + } +} + +// Toast variant mixin +.toast-variant(@color: @dark-color) { + background: fade(@color, 90%); + border-color: @color; +} \ No newline at end of file diff --git a/apps/server/src/view/less/spectre-less/src/modals.less b/apps/server/src/view/less/spectre-less/src/modals.less new file mode 100644 index 0000000..fb5cdf9 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/modals.less @@ -0,0 +1,73 @@ +// Modals +.modal { + align-items: center; + bottom: 0; + display: none; + justify-content: center; + left: 0; + opacity: 0; + overflow: hidden; + padding: @layout-spacing; + position: fixed; + right: 0; + top: 0; + + &:target, + &.active { + display: flex; + opacity: 1; + z-index: @zindex-4; + + .modal-overlay { + background: fade(@bg-color, 75%); + bottom: 0; + cursor: default; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + } + + .modal-container { + animation: slide-down .2s ease 1; + max-width: 640px; + z-index: @zindex-0; + } + } + + &.modal-sm { + .modal-container { + max-width: @control-max-width; + } + } +} + +.modal-container { + background: @bg-color-light; + border-radius: @border-radius; + display: block; + padding: 0; + .shadow-variant(.2rem); + text-align: left; + + .modal-header { + padding: @layout-spacing-lg; + + .modal-title { + margin: 0; + } + } + + .modal-body { + max-height: 50vh; + overflow-y: auto; + padding: @layout-spacing-lg; + position: relative; + } + + .modal-footer { + padding: @layout-spacing-lg; + text-align: right; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/navbar.less b/apps/server/src/view/less/spectre-less/src/navbar.less new file mode 100644 index 0000000..3e212c0 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/navbar.less @@ -0,0 +1,29 @@ +// Navbar +.navbar { + align-items: stretch; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .navbar-section { + align-items: center; + display: flex; + flex: 1 0 0; + + &:last-child { + justify-content: flex-end; + } + } + + .navbar-center { + align-items: center; + display: flex; + flex: 0 0 auto; + } + + .navbar-brand { + font-size: @font-size-lg; + font-weight: 500; + text-decoration: none; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/navs.less b/apps/server/src/view/less/spectre-less/src/navs.less new file mode 100644 index 0000000..5f471b0 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/navs.less @@ -0,0 +1,34 @@ +// Navs +.nav { + display: flex; + flex-direction: column; + list-style: none; + margin: @unit-1 0; + + .nav-item { + a { + color: @gray-color-dark; + padding: @unit-1 @unit-2; + text-decoration: none; + &:focus, + &:hover { + color: @primary-color; + } + } + &.active { + & > a { + color: darken(@gray-color-dark, 10%); + font-weight: bold; + &:focus, + &:hover { + color: @primary-color; + } + } + } + } + + & .nav { + margin-bottom: @unit-2; + margin-left: @unit-4; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/normalize.less b/apps/server/src/view/less/spectre-less/src/normalize.less new file mode 100644 index 0000000..28ed4d7 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/normalize.less @@ -0,0 +1,437 @@ +/* Manually forked from Normalize.css */ +/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ + +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Correct the line height in all browsers. + * 3. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +/* Document + ========================================================================== */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 3 */ + -webkit-text-size-adjust: 100%; /* 3 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8 (removed). + */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. (removed) + * 2. Correct the odd `em` font sizing in all browsers. + */ + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ + +a:active, +a:hover { + outline-width: 0; +} + +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) + */ + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: @mono-font-family; /* 1 (changed) */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. (Removed) + */ + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; + font-weight: 400; /* (added) */ +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 (changed) */ + font-size: inherit; /* 1 (changed) */ + line-height: inherit; /* 1 (changed) */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule (removed). + */ + + +/** + * Change the border, margin, and padding in all browsers (opinionated) (changed). + */ + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} diff --git a/apps/server/src/view/less/spectre-less/src/pagination.less b/apps/server/src/view/less/spectre-less/src/pagination.less new file mode 100644 index 0000000..596651b --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/pagination.less @@ -0,0 +1,61 @@ +// Pagination +.pagination { + display: flex; + list-style: none; + margin: @unit-1 0; + padding: @unit-1 0; + + .page-item { + margin: @unit-1 @unit-o; + + span { + display: inline-block; + padding: @unit-1 @unit-1; + } + + a { + border-radius: @border-radius; + color: @gray-color-dark; + display: inline-block; + padding: @unit-1 @unit-2; + text-decoration: none; + &:focus, + &:hover { + color: @primary-color; + } + } + + &.disabled { + a { + cursor: default; + opacity: .5; + pointer-events: none; + } + } + + &.active { + a { + background: @primary-color; + color: @light-color; + } + } + + &.page-prev, + &.page-next { + flex: 1 0 50%; + } + + &.page-next { + text-align: right; + } + + .page-item-title { + margin: 0; + } + + .page-item-subtitle { + margin: 0; + opacity: .5; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/panels.less b/apps/server/src/view/less/spectre-less/src/panels.less new file mode 100644 index 0000000..3c6bae8 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/panels.less @@ -0,0 +1,23 @@ +// Panels +.panel { + border: @border-width solid @border-color; + border-radius: @border-radius; + display: flex; + flex-direction: column; + + .panel-header, + .panel-footer { + flex: 0 0 auto; + padding: @layout-spacing-lg; + } + + .panel-nav { + flex: 0 0 auto; + } + + .panel-body { + flex: 1 1 auto; + overflow-y: auto; + padding: 0 @layout-spacing-lg; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/parallax.less b/apps/server/src/view/less/spectre-less/src/parallax.less new file mode 100644 index 0000000..e353fd4 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/parallax.less @@ -0,0 +1,129 @@ +// Parallax +@parallax-deg: 3deg; +@parallax-offset: 6.5px; +@parallax-offset-z: 100px; +@parallax-perspective: 1000px; +@parallax-scale: 1 - unit(@parallax-offset-z / @parallax-perspective); + +.parallax { + display: block; + height: auto; + position: relative; + width: auto; + + .parallax-content { + height: auto; + .shadow-variant(1rem); + transform: perspective(@parallax-perspective); + transform-style: preserve-3d; + transition: all .4s ease; + width: 100%; + + &::before { + content: ""; + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + } + } + + .parallax-front { + align-items: center; + color: @light-color; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + text-shadow: 0 0 20px fade(@dark-color, 50%); + top: 0; + transform: translateZ(@parallax-offset-z) scale(@parallax-scale); + transition: all .4s ease; + width: 100%; + z-index: @zindex-0; + } + + .parallax-top-left { + .parallax-dir(); + left: 0; + top: 0; + + &:hover ~ .parallax-content { + transform: perspective(@parallax-perspective) rotateX(-@parallax-deg) rotateY(@parallax-deg); + + &::before { + background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + + .parallax-front { + transform: translate3d(-@parallax-offset, -@parallax-offset, @parallax-offset-z) scale(@parallax-scale); + } + } + } + + .parallax-top-right { + .parallax-dir(); + right: 0; + top: 0; + + &:hover ~ .parallax-content { + transform: perspective(@parallax-perspective) rotateX(-@parallax-deg) rotateY(-@parallax-deg); + + &::before { + background: linear-gradient(-135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + + .parallax-front { + transform: translate3d(@parallax-offset, -@parallax-offset, @parallax-offset-z) scale(@parallax-scale); + } + } + } + + .parallax-bottom-left { + .parallax-dir(); + bottom: 0; + left: 0; + + &:hover ~ .parallax-content { + transform: perspective(@parallax-perspective) rotateX(@parallax-deg) rotateY(@parallax-deg); + + &::before { + background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + + .parallax-front { + transform: translate3d(-@parallax-offset, @parallax-offset, @parallax-offset-z) scale(@parallax-scale); + } + } + } + + .parallax-bottom-right { + .parallax-dir(); + bottom: 0; + right: 0; + + &:hover ~ .parallax-content { + transform: perspective(@parallax-perspective) rotateX(@parallax-deg) rotateY(-@parallax-deg); + + &::before { + background: linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + + .parallax-front { + transform: translate3d(@parallax-offset, @parallax-offset, @parallax-offset-z) scale(@parallax-scale); + } + } + } +} + +// Mixin: Parallax direction +.parallax-dir() { + height: 50%; + position: absolute; + width: 50%; + z-index: @zindex-3; +} diff --git a/apps/server/src/view/less/spectre-less/src/popovers.less b/apps/server/src/view/less/spectre-less/src/popovers.less new file mode 100644 index 0000000..0ba28a0 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/popovers.less @@ -0,0 +1,70 @@ +// Popovers +.popover { + display: inline-block; + position: relative; + + .popover-container { + content: attr(data-tooltip); + opacity: 0; + left: 50%; + padding: @layout-spacing; + position: absolute; + top: 0; + transform: translate(-50%, -50%) scale(0); + transition: transform .2s ease; + width: @control-max-width; + z-index: @zindex-4; + } + + :focus + .popover-container, + &:hover .popover-container, + .popover-container:hover { + display: block; + opacity: 1; + transform: translate(-50%, -100%) scale(1); + } + + &.popover-right { + .popover-container { + left: 100%; + top: 50%; + } + + :focus + .popover-container, + &:hover .popover-container, + .popover-container:hover { + transform: translate(0, -50%) scale(1); + } + } + + &.popover-bottom { + .popover-container { + left: 50%; + top: 100%; + } + + :focus + .popover-container, + &:hover .popover-container, + .popover-container:hover { + transform: translate(-50%, 0) scale(1); + } + } + + &.popover-left { + .popover-container { + left: 0; + top: 50%; + } + + :focus + .popover-container, + &:hover .popover-container, + .popover-container:hover { + transform: translate(-100%, -50%) scale(1); + } + } + + .card { + border: 0; + .shadow-variant(.2rem); + } +} diff --git a/apps/server/src/view/less/spectre-less/src/progress.less b/apps/server/src/view/less/spectre-less/src/progress.less new file mode 100644 index 0000000..cf9e34b --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/progress.less @@ -0,0 +1,45 @@ +// Progress +// Credit: https://css-tricks.com/html5-progress-element/ +.progress { + appearance: none; + background: @bg-color-dark; + border: 0; + border-radius: @border-radius; + color: @primary-color; + height: @unit-1; + position: relative; + width: 100%; + + &::-webkit-progress-bar { + background: transparent; + border-radius: @border-radius; + } + + &::-webkit-progress-value { + background: @primary-color; + border-radius: @border-radius; + } + + &::-moz-progress-bar { + background: @primary-color; + border-radius: @border-radius; + } + + &:indeterminate { + animation: progress-indeterminate 1.5s linear infinite; + background: @bg-color-dark linear-gradient(to right, @primary-color 30%, @bg-color-dark 30%) top left / 150% 150% no-repeat; + + &::-moz-progress-bar { + background: transparent; + } + } +} + +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/sliders.less b/apps/server/src/view/less/spectre-less/src/sliders.less new file mode 100644 index 0000000..bf5ce96 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/sliders.less @@ -0,0 +1,93 @@ +// Sliders +// Credit: https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ +.slider { + appearance: none; + background: transparent; + display: block; + width: 100%; + height: @unit-6; + + &:focus { + .control-shadow(); + outline: none; + } + + // Slider Thumb + &::-webkit-slider-thumb { + -webkit-appearance: none; + background: @primary-color; + border: 0; + border-radius: 50%; + height: @unit-3; + margin-top: -(@unit-3 - @unit-h) / 2 ; + transition: transform .2s ease; + width: @unit-3; + } + &::-moz-range-thumb { + background: @primary-color; + border: 0; + border-radius: 50%; + height: @unit-3; + transition: transform .2s ease; + width: @unit-3; + } + &::-ms-thumb { + background: @primary-color; + border: 0; + border-radius: 50%; + height: @unit-3; + transition: transform .2s ease; + width: @unit-3; + } + + &:active { + &::-webkit-slider-thumb { + transform: scale(1.25); + } + &::-moz-range-thumb { + transform: scale(1.25); + } + &::-ms-thumb { + transform: scale(1.25); + } + } + + &:disabled, + &.disabled { + &::-webkit-slider-thumb { + background: @gray-color-light; + transform: scale(1); + } + &::-moz-range-thumb { + background: @gray-color-light; + transform: scale(1); + } + &::-ms-thumb { + background: @gray-color-light; + transform: scale(1); + } + } + + // Slider Track + &::-webkit-slider-runnable-track { + background: @bg-color-dark; + border-radius: @border-radius; + height: @unit-h; + width: 100%; + } + &::-moz-range-track { + background: @bg-color-dark; + border-radius: @border-radius; + height: @unit-h; + width: 100%; + } + &::-ms-track { + background: @bg-color-dark; + border-radius: @border-radius; + height: @unit-h; + width: 100%; + } + &::-ms-fill-lower { + background: @primary-color; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/steps.less b/apps/server/src/view/less/spectre-less/src/steps.less new file mode 100644 index 0000000..fa0167f --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/steps.less @@ -0,0 +1,70 @@ +// Steps +.step { + display: flex; + flex-wrap: nowrap; + list-style: none; + margin: @unit-1 0; + width: 100%; + + .step-item { + flex: 1 1 0; + margin-top: 0; + min-height: 20px; + text-align: center; + position: relative; + + &:not(:first-child)::before { + background: @primary-color; + content: ""; + height: 2px; + left: -50%; + position: absolute; + top: 9px; + width: 100%; + } + + a { + color: @gray-color; + display: inline-block; + padding: 20px 10px 0; + text-decoration: none; + + &::before { + background: @primary-color; + border: @border-width-lg solid @light-color; + border-radius: 50%; + content: ""; + display: block; + height: @unit-3; + left: 50%; + position: absolute; + top: @unit-1; + transform: translateX(-50%); + width: @unit-3; + z-index: @zindex-0; + } + } + + &.active { + a { + &::before { + background: @light-color; + border: @border-width-lg solid @primary-color; + } + } + + & ~ .step-item { + &::before { + background: @border-color; + } + + a { + + &::before { + background: @gray-color-light; + } + } + } + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/tables.less b/apps/server/src/view/less/spectre-less/src/tables.less new file mode 100644 index 0000000..e9f747d --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/tables.less @@ -0,0 +1,45 @@ +// Tables +.table { + border-collapse: collapse; + border-spacing: 0; + text-align: left; + width: 100%; + + &.table-striped { + tbody { + tr:nth-of-type(odd) { + background: @bg-color; + } + } + } + + &.table-hover { + tbody { + tr { + &:hover { + background: @bg-color-dark; + } + } + } + } + + &, + &.table-striped { + tbody { + tr { + &.active { + background: @bg-color-dark; + } + } + } + } + + td, + th { + border-bottom: @border-width solid @border-color; + padding: @unit-3 @unit-2; + } + th { + border-bottom-width: @border-width-lg; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/tabs.less b/apps/server/src/view/less/spectre-less/src/tabs.less new file mode 100644 index 0000000..c5af2b6 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/tabs.less @@ -0,0 +1,62 @@ +// Tabs +.tab { + align-items: center; + border-bottom: @border-width solid @border-color; + display: flex; + flex-wrap: wrap; + list-style: none; + margin: @unit-1 0 @unit-1 - @border-width 0; + + .tab-item { + margin-top: 0; + + &.tab-action { + flex: 1 0 auto; + text-align: right; + } + + a { + border-bottom: @border-width-lg solid transparent; + color: inherit; + display: block; + margin: 0 @unit-2 0 0; + padding: @unit-2 @unit-1 @unit-2 - @border-width-lg @unit-1; + text-decoration: none; + &:focus, + &:hover { + color: @link-color; + } + } + &.active a, + a.active { + border-bottom-color: @primary-color; + color: @link-color; + } + } + + &.tab-block { + .tab-item { + flex: 1 0 0; + text-align: center; + + a { + margin: 0; + } + + .badge { + &[data-badge]::after { + position: absolute; + right: -4px; + top: -4px; + transform: translate(0, 0); + } + } + } + } + + &:not(.tab-block) { + .badge { + padding-right: 2px; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/tiles.less b/apps/server/src/view/less/spectre-less/src/tiles.less new file mode 100644 index 0000000..a99540e --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/tiles.less @@ -0,0 +1,38 @@ +// Tiles +.tile { + align-content: space-between; + align-items: flex-start; + display: flex; + + .tile-icon, + .tile-action { + flex: 0 0 auto; + } + .tile-content { + flex: 1 1 auto; + &:not(:first-child) { + padding-left: @unit-2; + } + &:not(:last-child) { + padding-right: @unit-2; + } + } + .tile-title, + .tile-subtitle { + line-height: @line-height; + } + + &.tile-centered { + align-items: center; + + .tile-content { + overflow: hidden; + } + + .tile-title, + .tile-subtitle { + margin-bottom: 0; + .text-ellipsis; + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/timelines.less b/apps/server/src/view/less/spectre-less/src/timelines.less new file mode 100644 index 0000000..02b421e --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/timelines.less @@ -0,0 +1,55 @@ +// Timelines +.timeline { + .timeline-item { + display: flex; + margin-bottom: @unit-6; + position: relative; + &::before { + background: @border-color; + content: ""; + height: 100%; + left: 11px; + position: absolute; + top: @unit-6; + width: 2px; + } + + .timeline-left { + flex: 0 0 auto; + } + + .timeline-content { + flex: 1 1 auto; + padding: 2px 0 2px @layout-spacing-lg; + } + + .timeline-icon { + border-radius: 50%; + color: @light-color; + display: block; + height: @unit-6; + text-align: center; + width: @unit-6; + &::before { + border: @border-width-lg solid @primary-color; + border-radius: 50%; + content: ""; + display: block; + height: @unit-2; + left: @unit-2; + position: absolute; + top: @unit-2; + width: @unit-2; + } + + &.icon-lg { + background: @primary-color; + font-size: @font-size-lg; + line-height: @line-height; + &::before { + content: none; + } + } + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/toasts.less b/apps/server/src/view/less/spectre-less/src/toasts.less new file mode 100644 index 0000000..0bc61d6 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/toasts.less @@ -0,0 +1,41 @@ +// Toasts +.toast { + border: @border-width solid @dark-color; + border-radius: @border-radius; + color: @light-color; + display: block; + padding: @layout-spacing; + .toast-variant(@dark-color); + width: 100%; + + &.toast-primary { + .toast-variant(@primary-color); + } + + &.toast-success { + .toast-variant(@success-color); + } + + &.toast-warning { + .toast-variant(@warning-color); + } + + &.toast-error { + .toast-variant(@error-color); + } + + a { + color: @light-color; + text-decoration: underline; + &:focus, + &:hover, + &:active, + &.active { + opacity: .75; + } + } + + .btn-clear { + margin: 2px -2px 2px 4px; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/tooltips.less b/apps/server/src/view/less/spectre-less/src/tooltips.less new file mode 100644 index 0000000..02dc201 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/tooltips.less @@ -0,0 +1,77 @@ +// Tooltips +.tooltip { + position: relative; + &::after { + background: fade(@dark-color, 90%); + border-radius: @border-radius; + bottom: 100%; + color: @light-color; + content: attr(data-tooltip); + display: block; + font-size: @font-size-sm; + left: 50%; + max-width: @control-max-width; + opacity: 0; + overflow: hidden; + padding: @unit-1 @unit-2; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + transform: translate(-50%, @unit-2); + transition: all .2s ease; + white-space: nowrap; + z-index: @zindex-3; + } + &:focus, + &:hover { + &::after { + opacity: 1; + transform: translate(-50%, -@unit-1); + } + } + &[disabled], + &.disabled { + pointer-events: auto; + } + + &.tooltip-right { + &::after { + bottom: 50%; + left: 100%; + transform: translate(-@unit-1, 50%); + } + &:focus, + &:hover { + &::after { + transform: translate(@unit-1, 50%); + } + } + } + &.tooltip-bottom { + &::after { + bottom: auto; + top: 100%; + transform: translate(-50%, -@unit-2); + } + &:focus, + &:hover { + &::after { + transform: translate(-50%, @unit-1); + } + } + } + &.tooltip-left { + &::after { + bottom: 50%; + left: auto; + right: 100%; + transform: translate(@unit-2, 50%); + } + &:focus, + &:hover { + &::after { + transform: translate(-@unit-1, 50%); + } + } + } +} diff --git a/apps/server/src/view/less/spectre-less/src/typography.less b/apps/server/src/view/less/spectre-less/src/typography.less new file mode 100644 index 0000000..5fd152f --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/typography.less @@ -0,0 +1,127 @@ +// Typography +// Headings +h1, +h2, +h3, +h4, +h5, +h6 { + color: inherit; + font-weight: 500; + line-height: 1.2; + margin-bottom: .25em; + margin-top: 0; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-weight: 500; +} +h1, +.h1 { + font-size: 2rem; +} +h2, +.h2 { + font-size: 1.6rem; +} +h3, +.h3 { + font-size: 1.4rem; +} +h4, +.h4 { + font-size: 1.2rem; +} +h5, +.h5 { + font-size: 1rem; +} +h6, +.h6 { + font-size: .8rem; +} + +// Paragraphs +p { + line-height: 1.2 * @line-height; + margin: 0 0 @unit-4; +} + +// Semantic text elements +a, +ins, +u { + text-decoration-skip: ink edges; +} + +abbr[title] { + border-bottom: @border-width dotted; + cursor: help; + text-decoration: none; +} + +kbd { + .label-base(); + .label-variant(@light-color, @dark-color); +} + +mark { + .label-base(); + .label-variant(@body-font-color, @highlight-color); +} + +// Blockquote +blockquote { + border-left: @border-width-lg solid @border-color; + margin-left: 0; + padding: @unit-2 @unit-4; + + p:last-child { + margin-bottom: 0; + } +} + +// Lists +ul, +ol { + margin: @unit-4 0 @unit-4 @unit-4; + padding: 0; + + ul, + ol { + margin: @unit-4 0 @unit-4 @unit-4; + } + + li { + margin-top: @unit-2; + } +} + +ul { + list-style: disc inside; + + ul { + list-style-type: circle; + } +} + +ol { + list-style: decimal inside; + + ol { + list-style-type: lower-alpha; + } +} + +dl { + dt { + font-weight: bold; + } + dd { + margin: @unit-2 0 @unit-4 0; + } +} diff --git a/apps/server/src/view/less/spectre-less/src/utilities.less b/apps/server/src/view/less/spectre-less/src/utilities.less new file mode 100644 index 0000000..676beb0 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities.less @@ -0,0 +1,7 @@ +@import 'utilities/colors.less'; +@import 'utilities/display.less'; +@import 'utilities/divider.less'; +@import 'utilities/loading.less'; +@import 'utilities/position.less'; +@import 'utilities/shapes.less'; +@import 'utilities/text.less'; \ No newline at end of file diff --git a/apps/server/src/view/less/spectre-less/src/utilities/colors.less b/apps/server/src/view/less/spectre-less/src/utilities/colors.less new file mode 100644 index 0000000..9571241 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/colors.less @@ -0,0 +1,45 @@ +// Text colors +.text-primary { + .text-color-variant(@primary-color); +} +.text-secondary { + .text-color-variant(@secondary-color-dark); +} +.text-gray { + .text-color-variant(@gray-color); +} +.text-light { + .text-color-variant(@light-color); +} +.text-success { + .text-color-variant(@success-color); +} +.text-warning { + .text-color-variant(@warning-color); +} +.text-error { + .text-color-variant(@error-color); +} + +// Background colors +.bg-primary { + .bg-color-variant(@primary-color); +} +.bg-secondary { + .bg-color-variant(@secondary-color); +} +.bg-dark { + .bg-color-variant(@dark-color); +} +.bg-gray { + .bg-color-variant(@bg-color); +} +.bg-success { + .bg-color-variant(@success-color); +} +.bg-warning { + .bg-color-variant(@warning-color); +} +.bg-error { + .bg-color-variant(@error-color); +} diff --git a/apps/server/src/view/less/spectre-less/src/utilities/display.less b/apps/server/src/view/less/spectre-less/src/utilities/display.less new file mode 100644 index 0000000..26e611e --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/display.less @@ -0,0 +1,47 @@ +// Display +.d-block { + display: block; +} +.d-inline { + display: inline; +} +.d-inline-block { + display: inline-block; +} +.d-flex { + display: flex; +} +.d-inline-flex { + display: inline-flex; +} +.d-none, +.hide { + display: none !important; +} +.d-visible { + visibility: visible; +} +.d-invisible { + visibility: hidden; +} +.text-hide { + background: transparent; + border: 0; + color: transparent; + font-size: 0; + line-height: 0; + text-shadow: none; +} +.text-assistive { + border: 0; + clip: rect(0,0,0,0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.hand { + cursor: pointer; +} diff --git a/apps/server/src/view/less/spectre-less/src/utilities/divider.less b/apps/server/src/view/less/spectre-less/src/utilities/divider.less new file mode 100644 index 0000000..a5cb45b --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/divider.less @@ -0,0 +1,50 @@ +// Divider +.divider, +.divider-vert { + display: block; + position: relative; + + &[data-content]::after { + background: @bg-color-light; + color: @gray-color; + content: attr(data-content); + display: inline-block; + font-size: @font-size-sm; + padding: 0 @unit-2; + transform: translateY(-@font-size-sm + @border-width); + } +} + +.divider { + border-top: @border-width solid @border-color; + height: @border-width; + margin: @unit-2 0; + + &[data-content] { + margin: @unit-4 0; + } +} + +.divider-vert { + display: block; + padding: @unit-4; + + &::before { + border-left: @border-width solid @border-color; + bottom: @unit-2; + content: ""; + display: block; + left: 50%; + position: absolute; + top: @unit-2; + transform: translateX(-50%); + } + + &[data-content]::after { + left: 50%; + padding: @unit-1 0; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + } +} diff --git a/apps/server/src/view/less/spectre-less/src/utilities/loading.less b/apps/server/src/view/less/spectre-less/src/utilities/loading.less new file mode 100644 index 0000000..767ec9e --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/loading.less @@ -0,0 +1,34 @@ +// Loading +.loading { + color: transparent !important; + min-height: @unit-4; + pointer-events: none; + position: relative; + &::after { + animation: loading 500ms infinite linear; + border: @border-width-lg solid @primary-color; + border-radius: 50%; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: @unit-4; + left: 50%; + margin-left: -@unit-2; + margin-top: -@unit-2; + position: absolute; + top: 50%; + width: @unit-4; + z-index: @zindex-0; + } + + &.loading-lg { + min-height: @unit-10; + &::after { + height: @unit-8; + width: @unit-8; + margin-left: -@unit-4; + margin-top: -@unit-4; + } + } +} \ No newline at end of file diff --git a/apps/server/src/view/less/spectre-less/src/utilities/position.less b/apps/server/src/view/less/spectre-less/src/utilities/position.less new file mode 100644 index 0000000..235d6a6 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/position.less @@ -0,0 +1,35 @@ +// Position +.clearfix { + .clearfix(); +} +.float-left { + float: left !important; +} +.float-right { + float: right !important; +} + +.relative { + position: relative; +} +.absolute { + position: absolute; +} +.fixed { + position: fixed; +} +.centered { + display: block; + float: none; + margin-left: auto; + margin-right: auto; +} + +// Spacing +.margin-variant(0, 0); +.margin-variant(1, @unit-1); +.margin-variant(2, @unit-2); + +.padding-variant(0, 0); +.padding-variant(1, @unit-1); +.padding-variant(2, @unit-2); \ No newline at end of file diff --git a/apps/server/src/view/less/spectre-less/src/utilities/shapes.less b/apps/server/src/view/less/spectre-less/src/utilities/shapes.less new file mode 100644 index 0000000..e9f63bc --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/shapes.less @@ -0,0 +1,7 @@ +// Shapes +.rounded { + border-radius: @border-radius; +} +.circle { + border-radius: 50%; +} diff --git a/apps/server/src/view/less/spectre-less/src/utilities/text.less b/apps/server/src/view/less/spectre-less/src/utilities/text.less new file mode 100644 index 0000000..f571613 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/utilities/text.less @@ -0,0 +1,52 @@ +// Text +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} + +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} + +.text-normal { + font-weight: normal; +} +.text-bold { + font-weight: bold; +} +.text-italic { + font-style: italic; +} +.text-large { + font-size: 1.2em; +} + +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.text-clip { + overflow: hidden; + text-overflow: clip; + white-space: nowrap; +} +.text-break { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; +} diff --git a/apps/server/src/view/less/spectre-less/src/variables.less b/apps/server/src/view/less/spectre-less/src/variables.less new file mode 100644 index 0000000..d146459 --- /dev/null +++ b/apps/server/src/view/less/spectre-less/src/variables.less @@ -0,0 +1,104 @@ +// Core variables + +// Global +@html-font-size: 20px; +@html-line-height: 1.428571429; +@body-bg: @bg-color-light; +@body-font-color: lighten(@dark-color, 5%); +@font-size: .7rem; +@font-size-sm: .6rem; +@font-size-lg: .8rem; +@line-height: 1rem; + +// Fonts +// Credit: https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/ +@base-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto; +@mono-font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace; +@fallback-font-family: "Helvetica Neue", sans-serif; +@cjk-zh-font-family: @base-font-family, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", @fallback-font-family; +@cjk-jp-font-family: @base-font-family, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, @fallback-font-family; +@cjk-ko-font-family: @base-font-family, "Malgun Gothic", @fallback-font-family; +@body-font-family: @base-font-family, @fallback-font-family; + +// Unit sizes +@unit-o: .05rem; +@unit-h: .1rem; +@unit-1: .2rem; +@unit-2: .4rem; +@unit-3: .6rem; +@unit-4: .8rem; +@unit-5: 1rem; +@unit-6: 1.2rem; +@unit-7: 1.4rem; +@unit-8: 1.6rem; +@unit-9: 1.8rem; +@unit-10: 2rem; +@unit-12: 2.4rem; +@unit-16: 3.2rem; + +// Sizes +@layout-spacing: @unit-2; +@layout-spacing-sm: @unit-1; +@layout-spacing-lg: @unit-4; +@control-size: @unit-8; +@control-size-sm: @unit-6; +@control-size-lg: @unit-10; +@control-padding-h: @unit-2; +@control-padding-v: (@control-size - @line-height) / 2 - @border-width; +@control-padding-v-sm: (@control-size-sm - @line-height) / 2 - @border-width; +@control-padding-v-lg: (@control-size-lg - @line-height) / 2 - @border-width; +@control-icon-size: .7rem; +@control-min-width: 180px; +@control-max-width: 320px; +@border-radius: @unit-h; +@border-width: @unit-o; +@border-width-lg: @unit-h; + +// Colors +// Core colors +@primary-color: #5764c6; +@primary-color-dark: darken(@primary-color, 3%); +@primary-color-light: lighten(@primary-color, 3%); +@secondary-color: lighten(@primary-color, 40%); +@secondary-color-dark: darken(@secondary-color, 3%); +@secondary-color-light: lighten(@secondary-color, 3%); + +@link-color: @primary-color; +@link-color-dark: darken(@link-color, 5%); + +// Gray colors +@dark-color: #454d5d; +@light-color: #fff; +@gray-color: lighten(@dark-color, 40%); +@gray-color-dark: darken(@gray-color, 20%); +@gray-color-light: lighten(@gray-color, 20%); + +@border-color: lighten(@dark-color, 60%); +@border-color-dark: darken(@border-color, 10%); +@bg-color: lighten(@dark-color, 66%); +@bg-color-dark: darken(@bg-color, 3%); +@bg-color-light: @light-color; + +// Control colors +@success-color: #32b643; +@warning-color: #ffb700; +@error-color: #e85600; + +// Other colors +@code-color: #e06870; +@highlight-color: #ffe9b3; + +// Responsive breakpoints +@size-xs: 480px; +@size-sm: 600px; +@size-md: 840px; +@size-lg: 960px; +@size-xl: 1280px; +@size-2x: 1440px; + +// Z-index +@zindex-0: 1; +@zindex-1: 100; +@zindex-2: 200; +@zindex-3: 300; +@zindex-4: 400; diff --git a/apps/server/src/view/less/var.less b/apps/server/src/view/less/var.less new file mode 100644 index 0000000..4ce3bb9 --- /dev/null +++ b/apps/server/src/view/less/var.less @@ -0,0 +1,7 @@ +// 配置代码提示插件 CSS Var Complete + +// 重写主题色 +@primary-color: #121212; + +:root { +} diff --git a/apps/server/src/view/lib/request.ts b/apps/server/src/view/lib/request.ts new file mode 100644 index 0000000..eba03b1 --- /dev/null +++ b/apps/server/src/view/lib/request.ts @@ -0,0 +1,47 @@ +import axios from 'axios'; +import { PREFIX } from '../../config/router'; + +const CancelToken = axios.CancelToken; +export const sourceCommon = CancelToken.source(); + +const axiosCommon = axios.create({ + timeout: 6000 * 1000, + cancelToken: sourceCommon.token, + baseURL: PREFIX.startsWith('/') ? PREFIX : '/' + PREFIX, +}); + +// 请求拦截 +axiosCommon.interceptors.request.use( + (config) => { + //TODO 一些拦截操作 here + return config; + }, + (error) => { + //TODO 一些提示...here + return Promise.reject(error); + }, +); + +// 响应拦截 +axiosCommon.interceptors.response.use( + (response) => { + const { code } = response.data; + switch (code) { + case 1000: + if (window.location.pathname != '/login') { + window.location.href = `/login`; + } + // message.warn('即将回到登录页'); + // setTimeout(() => { + + // }, 3000); + break; + default: + break; + } + return response.data; + }, + (err) => Promise.reject(err), +); + +export { axiosCommon }; diff --git a/apps/server/src/view/page/_layout/base.ejs b/apps/server/src/view/page/_layout/base.ejs new file mode 100644 index 0000000..962156f --- /dev/null +++ b/apps/server/src/view/page/_layout/base.ejs @@ -0,0 +1,9 @@ + + + + + + diff --git a/apps/server/src/view/page/_layout/footer.ejs b/apps/server/src/view/page/_layout/footer.ejs new file mode 100644 index 0000000..9564d28 --- /dev/null +++ b/apps/server/src/view/page/_layout/footer.ejs @@ -0,0 +1,9 @@ + diff --git a/apps/server/src/view/page/_layout/nav.ejs b/apps/server/src/view/page/_layout/nav.ejs new file mode 100644 index 0000000..5586244 --- /dev/null +++ b/apps/server/src/view/page/_layout/nav.ejs @@ -0,0 +1,26 @@ + diff --git a/apps/server/src/view/page/home/index.ejs b/apps/server/src/view/page/home/index.ejs new file mode 100644 index 0000000..3d4531c --- /dev/null +++ b/apps/server/src/view/page/home/index.ejs @@ -0,0 +1,16 @@ + + + + <%- include('../_layout/base') -%> + home页面 + + +

home

+ 去 注册 页面 + + 当前assets: <%= assets %> + + + <%- include('../_layout/footer') -%> + + diff --git a/apps/server/src/view/page/home/index.less b/apps/server/src/view/page/home/index.less new file mode 100644 index 0000000..e69de29 diff --git a/apps/server/src/view/page/home/index.ts b/apps/server/src/view/page/home/index.ts new file mode 100644 index 0000000..678ad7d --- /dev/null +++ b/apps/server/src/view/page/home/index.ts @@ -0,0 +1,3 @@ +import './index.less'; + +console.log('use ts wepack'); diff --git a/apps/server/src/view/page/login/index.ejs b/apps/server/src/view/page/login/index.ejs new file mode 100644 index 0000000..09a5857 --- /dev/null +++ b/apps/server/src/view/page/login/index.ejs @@ -0,0 +1,106 @@ + + + + <%- include('../_layout/base') -%> + new page: <%= name %> + + + <%- include('../_layout/nav') -%> +
+
+
+
+ +
+ +
+
+
+ <%- include('../_layout/footer') -%> + + diff --git a/apps/server/src/view/page/login/index.less b/apps/server/src/view/page/login/index.less new file mode 100644 index 0000000..a4debc0 --- /dev/null +++ b/apps/server/src/view/page/login/index.less @@ -0,0 +1,24 @@ +@import '../../less/common.less'; +@import '../../less/var.less'; + +.login-container { + .hero { + padding-bottom: 0; + .hero-body { + padding: 0; + } + } + .switch-login { + text-align: center; + } +} + +.box-container { + padding-top: 4rem; + position: relative; + text-align: center; + > img { + width: 5rem; + height: 5rem; + } +} diff --git a/apps/server/src/view/page/login/index.ts b/apps/server/src/view/page/login/index.ts new file mode 100644 index 0000000..288005b --- /dev/null +++ b/apps/server/src/view/page/login/index.ts @@ -0,0 +1,74 @@ +import './index.less'; +import $ from 'cash-dom'; +import { getVerifyCode, userLogin } from '../../api'; +import { IUserLoginRequest } from 'src/dto/user.dto'; +import { IVerifyCodeRequest } from 'src/dto/sms.dto'; +import { RegUtil } from '@backset/util'; + +$(function () { + $('#page-signup') + .on('click', '#btn-switch-login-type', handleSwitchLoginType) + .on('click', '#btn-signup-password', handlePasswordLogin) + .on('click', '#btn-signup-verify', handleVerifyLogin) + .on('click', '#btn-verify-code', handleGetVerifyCode); + + /** + * 获取验证码 + */ + function handleGetVerifyCode() { + const params: IVerifyCodeRequest = { phone: '' + $('#tel').val() }; + if (!RegUtil.PHONE.test(params.phone)) return; + // return message.error({ text: '手机号格式错误' }); + $('#btn-verify-code').addClass('loading'); + getVerifyCode(params).then((res) => { + console.log(res); + if (res) { + $('#btn-verify-code').removeClass('loading'); + } + }); + } + + /** + * 验证码登录 + */ + function handleVerifyLogin() { + const params: IUserLoginRequest = { + login_type: 'verifycode', + user_login: '' + $('#tel').val(), + verify_code: '' + $('#verify-code').val(), + }; + userLogin(params).then((res) => { + console.log(res); + }); + } + + /** + * 密码登录 + */ + function handlePasswordLogin() { + const params: IUserLoginRequest = { + login_type: 'password', + user_login: '' + $('#username').val(), + user_pass: '' + $('#password').val(), + }; + userLogin(params).then((res) => { + console.log(res); + }); + } + + /** + * 点击登录方式切换 + */ + function handleSwitchLoginType() { + const switchVerify = $(this).attr('data-login-type') === 'password'; + if (switchVerify) { + $('#verify-form').removeClass('d-none'); + $('#password-form').addClass('d-none'); + $(this).attr('data-login-type', 'verify').html('密码登陆'); + } else { + $('#verify-form').addClass('d-none'); + $('#password-form').removeClass('d-none'); + $(this).attr('data-login-type', 'password').html('验证码登陆'); + } + } +}); diff --git a/apps/server/src/view/page/notFound/index.ejs b/apps/server/src/view/page/notFound/index.ejs new file mode 100644 index 0000000..0684d75 --- /dev/null +++ b/apps/server/src/view/page/notFound/index.ejs @@ -0,0 +1,20 @@ + + + + + + + 404 + + + +

404

+ + + diff --git a/apps/server/src/view/page/notFound/index.less b/apps/server/src/view/page/notFound/index.less new file mode 100644 index 0000000..d2a81c6 --- /dev/null +++ b/apps/server/src/view/page/notFound/index.less @@ -0,0 +1,2 @@ +@import '../../less/common.less'; +@import '../../less/var.less'; diff --git a/apps/server/src/view/page/notFound/index.ts b/apps/server/src/view/page/notFound/index.ts new file mode 100644 index 0000000..d74e52e --- /dev/null +++ b/apps/server/src/view/page/notFound/index.ts @@ -0,0 +1 @@ +import './index.less'; diff --git a/apps/server/src/view/page/signup/index.ejs b/apps/server/src/view/page/signup/index.ejs new file mode 100644 index 0000000..01432bd --- /dev/null +++ b/apps/server/src/view/page/signup/index.ejs @@ -0,0 +1,69 @@ + + + + <%- include('../_layout/base') -%> + new page: <%= name %> + + + <%- include('../_layout/nav') -%> +
+
+
+
+
+ +
+
+
+

你好啊!

+

欢迎加入韭菜们的数字化空间

+
+
+
+
+ + +
+
+ + +
+
+ + +

密码长度至少6位

+
+
+ +
+
+
+
+
+
+ <%- include('../_layout/footer') -%> + + diff --git a/apps/server/src/view/page/signup/index.less b/apps/server/src/view/page/signup/index.less new file mode 100644 index 0000000..f7ee1cf --- /dev/null +++ b/apps/server/src/view/page/signup/index.less @@ -0,0 +1,11 @@ +@import '../../less/common.less'; +@import '../../less/var.less'; + +.slogan { + padding-top: 4rem; + text-align: center; + img { + width: 5rem; + height: 5rem; + } +} diff --git a/apps/server/src/view/page/signup/index.ts b/apps/server/src/view/page/signup/index.ts new file mode 100644 index 0000000..c07f5ea --- /dev/null +++ b/apps/server/src/view/page/signup/index.ts @@ -0,0 +1,26 @@ +import { createUser } from '../../api'; +import './index.less'; +import $ from 'cash-dom'; +import { RegUtil, ValidateUtil } from '@backset/util'; + +$(function () { + $('#signup-module').on('click', '#btn-signup', handleCreateUser); + + /** + * 注册 + */ + function handleCreateUser() { + const params = { + user_login: '' + $('#username').val(), + user_pass: '' + $('#password').val(), + user_phone: '' + $('#tel').val(), + }; + if (ValidateUtil.withEmpty(params)) return; + // return message.error({ text: '请补全表单' }); + if (!RegUtil.PHONE.test(params.user_phone)) return; + // return message.error({ text: '手机号格式错误' }); + createUser(params).then((res) => { + console.log(res); + }); + } +}); diff --git a/apps/server/tsconfig.json b/apps/server/tsconfig.json index adb614c..ec5d98d 100644 --- a/apps/server/tsconfig.json +++ b/apps/server/tsconfig.json @@ -4,6 +4,7 @@ "declaration": true, "removeComments": true, "emitDecoratorMetadata": true, + "esModuleInterop": true, "experimentalDecorators": true, "allowSyntheticDefaultImports": true, "target": "es2017", diff --git a/apps/server/webpack.config.js b/apps/server/webpack.config.js new file mode 100644 index 0000000..ad7f3de --- /dev/null +++ b/apps/server/webpack.config.js @@ -0,0 +1,76 @@ +const { join } = require('path') +const path = require('path') +const { readdirSync, statSync } = require('fs') +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); +const CopyPlugin = require("copy-webpack-plugin"); +const isDev = process.env.RUNNING_ENV === 'dev' +const isProd = process.env.RUNNING_ENV === 'prod' + +/** + * 引入 src/view/pages下的页面文件,排除 _ 开头的文件夹 + */ +const importEntry = () => { + const entries = {} + const rootDir = join(process.cwd(), 'src/view/page') + readdirSync(rootDir).filter(i => !i.startsWith('_')).forEach(file => { + if (statSync(join(rootDir, file)).isDirectory()) + entries[file] = `./src/view/page/${file}/index.ts` + }) + console.log(entries) + return entries +} + +module.exports = { + entry: importEntry(), + output: { + path: path.resolve(__dirname, 'public'), + publicPath: '', + filename: '[name].js', + chunkFilename: '[id].chunk.js?[hash:8]' + }, + mode: isDev ? 'development' : 'production', + module: { + rules: [ + { + test: /\.ts?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + { + test: /\.js$/, + loader: 'babel-loader', + exclude: /node_modules/ + }, + { + test: /\.css$/, + use: [MiniCssExtractPlugin.loader, 'css-loader'], + }, + { + test: /\.less$/, + use: [ + MiniCssExtractPlugin.loader, + 'css-loader', + 'less-loader', + ], + }, + { + test: /\.(png|jpg|gif)$/i, + use: [ + { + loader: 'url-loader', + options: { + limit: 8192, + }, + }, + ], + }, + ] + }, + plugins: [new MiniCssExtractPlugin({ + filename: '[name].css', + chunkFilename: '[id].css?[hash:8]', + }), new CopyPlugin([{ from: join(process.cwd(), 'src/view/assets'), to: "assets" }]),].filter(Boolean), + resolve: { + extensions: ['.ts', '.js', '.ejs'], + }, +}; diff --git a/package.json b/package.json index bf20107..9569bb2 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,18 @@ { "name": "pnpm-monorepo-demo", "version": "1.0.0", - "description": "", "main": "index.js", "scripts": { - "dev:apps-server": "cd apps/server && pnpm start:dev", + "dev:apps-server": "cd apps/server && pnpm dev:be", + "dev:apps-server-fe": "cd apps/server && pnpm dev:fe", + "build:app-server-fe": "cd apps/server && pnpm build:fe", "dev:apps-admin": "cd apps/admin && pnpm dev", "build:pkgs": "pnpm build:ui && pnpm build:util", "build:ui": "cd packages/ui && pnpm build", - "build:util": "cd packages/util && pnpm build" + "build:util": "cd packages/util && pnpm build", + "new:page": "cd apps/server && pnpm new:page", + "new:mvc": "cd apps/server && pnpm new:mvc" }, - "keywords": [], - "author": "", - "license": "ISC", "devDependencies": { "@types/node": "^18.13.0", "rimraf": "^4.1.2", diff --git a/packages/util/src/index.ts b/packages/util/src/index.ts index 4c5cf01..773d383 100644 --- a/packages/util/src/index.ts +++ b/packages/util/src/index.ts @@ -1,5 +1,5 @@ import * as EncryptUtil from "./encrypt"; +import * as ValidateUtil from "./validate"; +import * as RegUtil from "./reg"; -export const foo = "foo"; - -export { EncryptUtil }; +export { EncryptUtil, ValidateUtil, RegUtil }; diff --git a/packages/util/src/reg.ts b/packages/util/src/reg.ts new file mode 100644 index 0000000..358e08e --- /dev/null +++ b/packages/util/src/reg.ts @@ -0,0 +1,4 @@ +/** + * 手机号正则[常用] + */ +export const PHONE = /^1[3456789]\d{9}$/; diff --git a/packages/util/src/validate.ts b/packages/util/src/validate.ts new file mode 100644 index 0000000..f7c88af --- /dev/null +++ b/packages/util/src/validate.ts @@ -0,0 +1,7 @@ +/** + * 检测对象是否存在空 value + * @param {Object} obj 检测的对象 + */ +export const withEmpty = (obj: Object) => { + return Object.values(obj).some((v) => !v); +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f356367..8db13be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,52 +48,98 @@ importers: apps/server: specifiers: + '@babel/core': 7.20.12 + '@babel/preset-env': 7.20.2 '@backset/util': workspace:^1.0.0 '@nestjs/cli': ^9.0.0 '@nestjs/common': ^9.0.0 + '@nestjs/config': 2.3.1 '@nestjs/core': ^9.0.0 + '@nestjs/mongoose': 7.2.4 '@nestjs/platform-express': ^9.0.0 '@nestjs/schematics': ^9.0.0 - '@nestjs/testing': ^9.0.0 + '@nestjs/typeorm': 9.0.1 '@types/express': ^4.17.13 + '@types/mongoose': ^5.11.97 '@types/node': 18.11.18 '@typescript-eslint/eslint-plugin': ^5.0.0 '@typescript-eslint/parser': ^5.0.0 + axios: 0.27.2 + babel-loader: 8.1.0 + cash-dom: 8.1.3 + chalk: 4.1.2 + copy-webpack-plugin: 5.1.2 + cross-env: 7.0.3 + css-loader: 6.7.3 + ejs: 3.1.8 eslint: ^8.0.1 eslint-config-prettier: ^8.3.0 eslint-plugin-prettier: ^4.0.0 + inquirer: 8.0.0 + less: 3.8.0 + less-loader: 4.1.0 + mini-css-extract-plugin: 2.7.2 + mongoose: 5.13.15 + mysql2: 3.0.1 prettier: ^2.3.2 reflect-metadata: ^0.1.13 rxjs: ^7.2.0 source-map-support: ^0.5.20 - ts-loader: ^9.2.3 + ts-loader: 9.4.2 ts-node: ^10.0.0 tsconfig-paths: 4.1.1 + typeorm: 0.3.11 typescript: ^4.7.4 + url-loader: 4.1.1 + webpack: ^5.75.0 + webpack-cli: ^5.0.1 dependencies: '@backset/util': link:../../packages/util '@nestjs/common': registry.npmmirror.com/@nestjs/common/9.3.7_mnr6j2del53muneqly5h4y27ai + '@nestjs/config': 2.3.1_ojttuksvundfk3amlyo674va74 '@nestjs/core': registry.npmmirror.com/@nestjs/core/9.3.7_ipss6dxf5icme2x7c6jvrkkrmq + '@nestjs/mongoose': 7.2.4_bzmtck74xxpirmscd6kqudoqsm '@nestjs/platform-express': registry.npmmirror.com/@nestjs/platform-express/9.3.7_zmctrozi6xxh3beaccl6ebop6u + axios: 0.27.2 + mongoose: 5.13.15 + mysql2: 3.0.1 reflect-metadata: registry.npmmirror.com/reflect-metadata/0.1.13 rxjs: registry.npmmirror.com/rxjs/7.8.0 + typeorm: 0.3.11_vi676j5qc66lrw5lu3uf7yadem devDependencies: - '@nestjs/cli': registry.npmmirror.com/@nestjs/cli/9.2.0 + '@babel/core': 7.20.12 + '@babel/preset-env': 7.20.2_@babel+core@7.20.12 + '@nestjs/cli': registry.npmmirror.com/@nestjs/cli/9.2.0_webpack-cli@5.0.1 '@nestjs/schematics': registry.npmmirror.com/@nestjs/schematics/9.0.4_typescript@4.9.5 - '@nestjs/testing': registry.npmmirror.com/@nestjs/testing/9.3.7_hxc5gkmejwink2uhle7e37kg2q + '@nestjs/typeorm': 9.0.1_hwiuk2gt3o53y3gficcblk5k5u '@types/express': registry.npmmirror.com/@types/express/4.17.17 + '@types/mongoose': 5.11.97 '@types/node': registry.npmmirror.com/@types/node/18.11.18 '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + babel-loader: 8.1.0_la66t7xldg4uecmyawueag5wkm + cash-dom: 8.1.3 + chalk: 4.1.2 + copy-webpack-plugin: 5.1.2_webpack@5.75.0 + cross-env: 7.0.3 + css-loader: 6.7.3_webpack@5.75.0 + ejs: 3.1.8 eslint: registry.npmmirror.com/eslint/8.33.0 eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier/8.6.0_eslint@8.33.0 eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.2.1_qa2thblfovmfepmgrc7z2owbo4 + inquirer: 8.0.0 + less: 3.8.0 + less-loader: 4.1.0_less@3.8.0+webpack@5.75.0 + mini-css-extract-plugin: 2.7.2_webpack@5.75.0 prettier: registry.npmmirror.com/prettier/2.8.4 source-map-support: registry.npmmirror.com/source-map-support/0.5.21 - ts-loader: registry.npmmirror.com/ts-loader/9.4.2_typescript@4.9.5 + ts-loader: 9.4.2_hhrrucqyg4eysmfpujvov2ym5u ts-node: registry.npmmirror.com/ts-node/10.9.1_bdgp3l2zgaopogaavxusmetvge tsconfig-paths: registry.npmmirror.com/tsconfig-paths/4.1.1 typescript: registry.npmmirror.com/typescript/4.9.5 + url-loader: 4.1.1_webpack@5.75.0 + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-cli: 5.0.1_webpack@5.75.0 packages/ui: specifiers: {} @@ -103,6 +149,4587 @@ importers: packages: + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data/7.20.14: + resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.20.12: + resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.14 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helpers': 7.20.13 + '@babel/parser': 7.20.15 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.20.14: + resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.12: + resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.0 + dev: true + + /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12: + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor/7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-explode-assignable-expression/7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-function-name/7.19.0: + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-member-expression-to-functions/7.20.7: + resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-module-transforms/7.20.11: + resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-plugin-utils/7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access/7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function/7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.19.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers/7.20.13: + resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.13 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.20.15: + resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.7 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + dev: true + + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.12: + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.12: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12: + resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 + dev: true + + /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.12: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12: + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.12: + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12: + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.12: + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/preset-env/7.20.2_@babel+core@7.20.12: + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.12 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.12 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.12 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12 + '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12 + '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.12 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.12 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.12 + '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.12 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12 + '@babel/preset-modules': 0.1.5_@babel+core@7.20.12 + '@babel/types': 7.20.7 + babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.12 + babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.12 + babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.12 + core-js-compat: 3.27.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules/0.1.5_@babel+core@7.20.12: + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.12 + '@babel/types': 7.20.7 + esutils: 2.0.3 + dev: true + + /@babel/regjsgen/0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime/7.20.13: + resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@babel/template/7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.20.15 + '@babel/types': 7.20.7 + dev: true + + /@babel/traverse/7.20.13: + resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.14 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.20.15 + '@babel/types': 7.20.7 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.20.7: + resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@colors/colors/1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + + /@discoveryjs/json-ext/0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true + + /@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@nestjs/config/2.3.1_ojttuksvundfk3amlyo674va74: + resolution: {integrity: sha512-Ckzel0NZ9CWhNsLfE1hxfDuxJuEbhQvGxSlmZ1/X8awjRmAA/g3kT6M1+MO1SHj1wMtPyUfd9WpwkiqFbiwQgA==} + peerDependencies: + '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 + reflect-metadata: ^0.1.13 + rxjs: ^6.0.0 || ^7.2.0 + dependencies: + '@nestjs/common': registry.npmmirror.com/@nestjs/common/9.3.7_mnr6j2del53muneqly5h4y27ai + dotenv: 16.0.3 + dotenv-expand: 10.0.0 + lodash: 4.17.21 + reflect-metadata: registry.npmmirror.com/reflect-metadata/0.1.13 + rxjs: registry.npmmirror.com/rxjs/7.8.0 + uuid: 9.0.0 + dev: false + + /@nestjs/mongoose/7.2.4_bzmtck74xxpirmscd6kqudoqsm: + resolution: {integrity: sha512-NTE/IwijFUEJytPHLoHRYe0X5p16W1Awf8tm6I3mWsIUuBnSDfMyN0fy30uVaM/exYvCkMwEsAVpeSeKVPMHxg==} + peerDependencies: + '@nestjs/common': ^6.0.0 || ^7.0.0 + '@nestjs/core': ^6.0.0 || ^7.0.0 + mongoose: ^5.11.15 + reflect-metadata: ^0.1.12 + rxjs: ^6.0.0 + dependencies: + '@nestjs/common': registry.npmmirror.com/@nestjs/common/9.3.7_mnr6j2del53muneqly5h4y27ai + '@nestjs/core': registry.npmmirror.com/@nestjs/core/9.3.7_ipss6dxf5icme2x7c6jvrkkrmq + mongoose: 5.13.15 + reflect-metadata: registry.npmmirror.com/reflect-metadata/0.1.13 + rxjs: registry.npmmirror.com/rxjs/7.8.0 + dev: false + + /@nestjs/typeorm/9.0.1_hwiuk2gt3o53y3gficcblk5k5u: + resolution: {integrity: sha512-A2BgLIPsMtmMI0bPKEf4bmzgFPsnvHqNBx3KkvaJ7hJrBQy0OqYOb+Rr06ifblKWDWS2tUPNrAFQbZjtk3PI+g==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 + '@nestjs/core': ^8.0.0 || ^9.0.0 + reflect-metadata: ^0.1.13 + rxjs: ^7.2.0 + typeorm: ^0.3.0 + dependencies: + '@nestjs/common': registry.npmmirror.com/@nestjs/common/9.3.7_mnr6j2del53muneqly5h4y27ai + '@nestjs/core': registry.npmmirror.com/@nestjs/core/9.3.7_ipss6dxf5icme2x7c6jvrkkrmq + reflect-metadata: registry.npmmirror.com/reflect-metadata/0.1.13 + rxjs: registry.npmmirror.com/rxjs/7.8.0 + typeorm: 0.3.11_vi676j5qc66lrw5lu3uf7yadem + uuid: 8.3.2 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@sqltools/formatter/1.2.5: + resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} + + /@types/bson/4.0.5: + resolution: {integrity: sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==} + dependencies: + '@types/node': 18.13.0 + + /@types/eslint-scope/3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + dependencies: + '@types/eslint': 8.21.0 + '@types/estree': 0.0.51 + dev: true + + /@types/eslint/8.21.0: + resolution: {integrity: sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==} + dependencies: + '@types/estree': 0.0.51 + '@types/json-schema': 7.0.11 + dev: true + + /@types/estree/0.0.51: + resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + dev: true + + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/mongodb/3.6.20: + resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==} + dependencies: + '@types/bson': 4.0.5 + '@types/node': 18.13.0 + + /@types/mongoose/5.11.97: + resolution: {integrity: sha512-cqwOVYT3qXyLiGw7ueU2kX9noE8DPGRY6z8eUxudhXY8NZ7DMKYAxyZkLSevGfhCX3dO/AoX5/SO9lAzfjon0Q==} + deprecated: Mongoose publishes its own types, so you do not need to install this package. + dependencies: + mongoose: 5.13.15 + transitivePeerDependencies: + - aws4 + - bson-ext + - kerberos + - mongodb-client-encryption + - mongodb-extjson + - snappy + - supports-color + dev: true + + /@types/node/18.13.0: + resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} + + /@webassemblyjs/ast/1.11.1: + resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + dev: true + + /@webassemblyjs/floating-point-hex-parser/1.11.1: + resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + dev: true + + /@webassemblyjs/helper-api-error/1.11.1: + resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + dev: true + + /@webassemblyjs/helper-buffer/1.11.1: + resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + dev: true + + /@webassemblyjs/helper-numbers/1.11.1: + resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode/1.11.1: + resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + dev: true + + /@webassemblyjs/helper-wasm-section/1.11.1: + resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + dev: true + + /@webassemblyjs/ieee754/1.11.1: + resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128/1.11.1: + resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8/1.11.1: + resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + dev: true + + /@webassemblyjs/wasm-edit/1.11.1: + resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-wasm-section': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-opt': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/wast-printer': 1.11.1 + dev: true + + /@webassemblyjs/wasm-gen/1.11.1: + resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wasm-opt/1.11.1: + resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + dev: true + + /@webassemblyjs/wasm-parser/1.11.1: + resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wast-printer/1.11.1: + resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webpack-cli/configtest/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: + resolution: {integrity: sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-cli: 5.0.1_webpack@5.75.0 + dev: true + + /@webpack-cli/info/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: + resolution: {integrity: sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-cli: 5.0.1_webpack@5.75.0 + dev: true + + /@webpack-cli/serve/2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq: + resolution: {integrity: sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + dependencies: + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-cli: 5.0.1_webpack@5.75.0 + dev: true + + /@xtuc/ieee754/1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long/4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /acorn-import-assertions/1.8.0_acorn@8.8.2: + resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.8.2 + dev: true + + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-errors/1.0.1_ajv@6.12.6: + resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} + peerDependencies: + ajv: '>=5.0.0' + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-formats/2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: true + + /ajv-keywords/3.5.2_ajv@6.12.6: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-keywords/5.1.0_ajv@8.12.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv/8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-colors/3.2.4: + resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + /app-root-path/3.1.0: + resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} + engines: {node: '>= 6.0.0'} + + /aproba/1.2.0: + resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /array-union/1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: 1.0.3 + dev: true + + /array-uniq/1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /asap/2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true + optional: true + + /asn1/0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /assert-plus/1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + optional: true + + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /aws-sign2/0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + optional: true + + /aws4/1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true + optional: true + + /axios/0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: false + + /babel-loader/8.1.0_la66t7xldg4uecmyawueag5wkm: + resolution: {integrity: sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==} + engines: {node: '>= 6.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': 7.20.12 + find-cache-dir: 2.1.0 + loader-utils: 1.4.2 + mkdirp: 0.5.6 + pify: 4.0.1 + schema-utils: 2.7.1 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.12: + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.14 + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12: + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + core-js-compat: 3.27.2 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12: + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.12 + transitivePeerDependencies: + - supports-color + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + optional: true + + /big.js/5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /bl/2.2.1: + resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==} + dependencies: + readable-stream: 2.3.7 + safe-buffer: 5.2.1 + + /bluebird/3.5.1: + resolution: {integrity: sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==} + + /bluebird/3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001451 + electron-to-chromium: 1.4.294 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10_browserslist@4.21.5 + dev: true + + /bson/1.1.6: + resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==} + engines: {node: '>=0.6.19'} + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer/6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /cacache/12.0.4: + resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} + dependencies: + bluebird: 3.7.2 + chownr: 1.1.4 + figgy-pudding: 3.5.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + mississippi: 3.0.0 + mkdirp: 0.5.6 + move-concurrently: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 + rimraf: 2.7.1 + ssri: 6.0.2 + unique-filename: 1.1.1 + y18n: 4.0.3 + dev: true + + /caniuse-lite/1.0.30001451: + resolution: {integrity: sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==} + dev: true + + /caseless/0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + optional: true + + /cash-dom/8.1.3: + resolution: {integrity: sha512-+W6A9GrgH6do57T/2QLlobr8Q3nwvRoLf74HQRu8zFsyP8hBAjg0RJsubIP+uoV7MYknnugrEdEW5HHH0hJB7Q==} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + supports-color: registry.npmmirror.com/supports-color/7.2.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + + /chrome-trace-event/1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /cli-cursor/3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-highlight/2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + + /cli-width/3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + /clone-deep/4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /clone/1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /clone/2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander/9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream/1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.7 + typedarray: 0.0.6 + dev: true + + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /copy-concurrently/1.0.5: + resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} + dependencies: + aproba: 1.2.0 + fs-write-stream-atomic: 1.0.10 + iferr: 0.1.5 + mkdirp: 0.5.6 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + + /copy-webpack-plugin/5.1.2_webpack@5.75.0: + resolution: {integrity: sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==} + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + glob-parent: 3.1.0 + globby: 7.1.1 + is-glob: 4.0.3 + loader-utils: 1.4.2 + minimatch: 3.1.2 + normalize-path: 3.0.0 + p-limit: 2.3.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-log: 2.0.0 + dev: true + + /core-js-compat/3.27.2: + resolution: {integrity: sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==} + dependencies: + browserslist: 4.21.5 + dev: true + + /core-util-is/1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + optional: true + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + /cross-env/7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-loader/6.7.3_webpack@5.75.0: + resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 + postcss-modules-scope: 3.0.0_postcss@8.4.21 + postcss-modules-values: 4.0.0_postcss@8.4.21 + postcss-value-parser: 4.2.0 + semver: 7.3.8 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /cyclist/1.0.1: + resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} + dev: true + + /dashdash/1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + optional: true + + /date-fns/2.29.3: + resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} + engines: {node: '>=0.11'} + + /debug/3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + optional: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /denque/1.5.1: + resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==} + engines: {node: '>=0.10'} + + /denque/2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + /dir-glob/2.2.2: + resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} + engines: {node: '>=4'} + dependencies: + path-type: 3.0.0 + dev: true + + /dotenv-expand/10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: false + + /dotenv/16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + + /duplexify/3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.7 + stream-shift: 1.0.1 + dev: true + + /ecc-jsbn/0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + optional: true + + /ejs/3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: true + + /electron-to-chromium/1.4.294: + resolution: {integrity: sha512-PuHZB3jEN7D8WPPjLmBQAsqQz8tWHlkkB4n0E2OYw8RwVdmBYV0Wn+rUFH8JqYyIRb4HQhhedgxlZL163wqLrQ==} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emojis-list/3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enhanced-resolve/5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.10 + tapable: 2.2.1 + dev: true + + /envinfo/7.8.1: + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /errno/0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + optional: true + + /es-module-lexer/0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + optional: true + + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /extsprintf/1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + optional: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fastest-levenshtein/1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /figgy-pudding/3.5.2: + resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} + dev: true + + /figures/3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /filelist/1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-cache-dir/2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + dev: true + + /find-up/3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /flush-write-stream/1.1.1: + resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + + /follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /forever-agent/0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + optional: true + + /form-data/2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + optional: true + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /from2/2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + + /fs-write-stream-atomic/1.0.10: + resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} + dependencies: + graceful-fs: 4.2.10 + iferr: 0.1.5 + imurmurhash: 0.1.4 + readable-stream: 2.3.7 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /generate-function/2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + dependencies: + is-property: 1.0.2 + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + /getpass/0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + optional: true + + /glob-parent/3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp/0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globby/7.1.1: + resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} + engines: {node: '>=4'} + dependencies: + array-union: 1.0.2 + dir-glob: 2.2.2 + glob: 7.2.3 + ignore: 3.3.10 + pify: 3.0.0 + slash: 1.0.0 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + /har-schema/2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: true + optional: true + + /har-validator/5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: true + optional: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /highlight.js/10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + /http-signature/1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: true + optional: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2 + + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /icss-utils/5.1.0_postcss@8.4.21: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /iferr/0.1.5: + resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} + dev: true + + /ignore/3.3.10: + resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} + dev: true + + /image-size/0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + optional: true + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /infer-owner/1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /inquirer/7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: registry.npmmirror.com/ansi-escapes/4.3.2 + chalk: 4.1.2 + cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 + cli-width: registry.npmmirror.com/cli-width/3.0.0 + external-editor: registry.npmmirror.com/external-editor/3.1.0 + figures: registry.npmmirror.com/figures/3.2.0 + lodash: registry.npmmirror.com/lodash/4.17.21 + mute-stream: registry.npmmirror.com/mute-stream/0.0.8 + run-async: registry.npmmirror.com/run-async/2.4.1 + rxjs: registry.npmmirror.com/rxjs/6.6.7 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + through: registry.npmmirror.com/through/2.3.8 + dev: true + + /inquirer/8.0.0: + resolution: {integrity: sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==} + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /inquirer/8.2.4: + resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: registry.npmmirror.com/ansi-escapes/4.3.2 + chalk: 4.1.2 + cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 + cli-width: registry.npmmirror.com/cli-width/3.0.0 + external-editor: registry.npmmirror.com/external-editor/3.1.0 + figures: registry.npmmirror.com/figures/3.2.0 + lodash: registry.npmmirror.com/lodash/4.17.21 + mute-stream: registry.npmmirror.com/mute-stream/0.0.8 + ora: registry.npmmirror.com/ora/5.4.1 + run-async: registry.npmmirror.com/run-async/2.4.1 + rxjs: registry.npmmirror.com/rxjs/7.8.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + through: registry.npmmirror.com/through/2.3.8 + wrap-ansi: registry.npmmirror.com/wrap-ansi/7.0.0 + dev: true + + /interpret/3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-glob/3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-plain-object/2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-property/1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + + /is-typedarray/1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + optional: true + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject/3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /isstream/0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + optional: true + + /jake/10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /jest-worker/27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.13.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsbn/0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + optional: true + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + optional: true + + /json-stringify-safe/5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + optional: true + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsprim/1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + optional: true + + /kareem/2.3.2: + resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==} + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /less-loader/4.1.0_less@3.8.0+webpack@5.75.0: + resolution: {integrity: sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==} + engines: {node: '>= 4.8 < 5.0.0 || >= 5.10'} + peerDependencies: + less: ^2.3.1 || ^3.0.0 + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + clone: 2.1.2 + less: 3.8.0 + loader-utils: 1.4.2 + pify: 3.0.0 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /less/3.8.0: + resolution: {integrity: sha512-746DPDyL+Wsjo7h/Z3t+A3Mg/mpDTaxW4puZyLhCQJjWJJvHggN735orjuCLIYgo7jKqv1zWLiQrxkuUOg5oGA==} + engines: {node: '>=4'} + hasBin: true + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.10 + image-size: 0.5.5 + mime: 1.6.0 + mkdirp: 0.5.6 + promise: 7.3.1 + request: 2.88.2 + source-map: 0.6.1 + dev: true + + /loader-runner/4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils/1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /loader-utils/2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: true + + /locate-path/3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /long/5.2.1: + resolution: {integrity: sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==} + + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /lru-cache/7.14.1: + resolution: {integrity: sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==} + engines: {node: '>=12'} + + /make-dir/2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.1 + + /memory-pager/1.5.0: + resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + optional: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mini-css-extract-plugin/2.7.2_webpack@5.75.0: + resolution: {integrity: sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.0.0 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mississippi/3.0.0: + resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} + engines: {node: '>=4.0.0'} + dependencies: + concat-stream: 1.6.2 + duplexify: 3.7.1 + end-of-stream: 1.4.4 + flush-write-stream: 1.1.1 + from2: 2.3.0 + parallel-transform: 1.2.0 + pump: 3.0.0 + pumpify: 1.5.1 + stream-each: 1.2.3 + through2: 2.0.5 + dev: true + + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + /mongodb/3.7.3: + resolution: {integrity: sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==} + engines: {node: '>=4'} + peerDependencies: + aws4: '*' + bson-ext: '*' + kerberos: '*' + mongodb-client-encryption: '*' + mongodb-extjson: '*' + snappy: '*' + peerDependenciesMeta: + aws4: + optional: true + bson-ext: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + mongodb-extjson: + optional: true + snappy: + optional: true + dependencies: + bl: 2.2.1 + bson: 1.1.6 + denque: 1.5.1 + optional-require: 1.1.8 + safe-buffer: 5.2.1 + optionalDependencies: + saslprep: 1.0.3 + + /mongoose-legacy-pluralize/1.0.2_mongoose@5.13.15: + resolution: {integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==} + peerDependencies: + mongoose: '*' + dependencies: + mongoose: 5.13.15 + + /mongoose/5.13.15: + resolution: {integrity: sha512-cxp1Gbb8yUWkaEbajdhspSaKzAvsIvOtRlYD87GN/P2QEUhpd6bIvebi36T6M0tIVAMauNaK9SPA055N3PwF8Q==} + engines: {node: '>=4.0.0'} + dependencies: + '@types/bson': 4.0.5 + '@types/mongodb': 3.6.20 + bson: 1.1.6 + kareem: 2.3.2 + mongodb: 3.7.3 + mongoose-legacy-pluralize: 1.0.2_mongoose@5.13.15 + mpath: 0.8.4 + mquery: 3.2.5 + ms: 2.1.2 + optional-require: 1.0.3 + regexp-clone: 1.0.0 + safe-buffer: 5.2.1 + sift: 13.5.2 + sliced: 1.0.1 + transitivePeerDependencies: + - aws4 + - bson-ext + - kerberos + - mongodb-client-encryption + - mongodb-extjson + - snappy + - supports-color + + /move-concurrently/1.0.1: + resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} + dependencies: + aproba: 1.2.0 + copy-concurrently: 1.0.5 + fs-write-stream-atomic: 1.0.10 + mkdirp: 0.5.6 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + + /mpath/0.8.4: + resolution: {integrity: sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==} + engines: {node: '>=4.0.0'} + + /mquery/3.2.5: + resolution: {integrity: sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==} + engines: {node: '>=4.0.0'} + dependencies: + bluebird: 3.5.1 + debug: 3.1.0 + regexp-clone: 1.0.0 + safe-buffer: 5.1.2 + sliced: 1.0.1 + transitivePeerDependencies: + - supports-color + + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + optional: true + + /mute-stream/0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /mysql2/3.0.1: + resolution: {integrity: sha512-Wrh5KuE0OOlm6wRwRhE2q+C8LjwwfT3sFKVauyTwMwPbOd2i0SzxMqTZPqs90ZNAEWjot5GFywje84qVn3ITYw==} + engines: {node: '>= 8.0'} + dependencies: + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.6.3 + long: 5.2.1 + lru-cache: 7.14.1 + named-placeholders: 1.1.3 + seq-queue: 0.0.5 + sqlstring: 2.3.3 + + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + /named-placeholders/1.1.3: + resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} + engines: {node: '>=12.0.0'} + dependencies: + lru-cache: 7.14.1 + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /needle/3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: registry.npmmirror.com/sax/1.2.4 + transitivePeerDependencies: + - supports-color + optional: true + + /neo-async/2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /node-releases/2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /oauth-sign/0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: true + optional: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optional-require/1.0.3: + resolution: {integrity: sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==} + engines: {node: '>=4'} + + /optional-require/1.1.8: + resolution: {integrity: sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==} + engines: {node: '>=4'} + dependencies: + require-at: 1.0.6 + + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: registry.npmmirror.com/yocto-queue/0.1.0 + dev: true + + /p-locate/3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parallel-transform/1.2.0: + resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} + dependencies: + cyclist: 1.0.1 + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + + /parse5-htmlparser2-tree-adapter/6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + + /parse5/5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + /parse5/6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + /path-dirname/1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + dev: true + + /path-exists/3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /performance-now/2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + optional: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify/3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + /pkg-dir/3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + dependencies: + find-up: 3.0.0 + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /postcss-modules-extract-imports/3.0.0_postcss@8.4.21: + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /postcss-modules-local-by-default/4.0.0_postcss@8.4.21: + resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope/3.0.0_postcss@8.4.21: + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-modules-values/4.0.0_postcss@8.4.21: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + dev: true + + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + /promise-inflight/1.0.1_bluebird@3.7.2: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dependencies: + bluebird: 3.7.2 + dev: true + + /promise/7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + requiresBuild: true + dependencies: + asap: 2.0.6 + dev: true + optional: true + + /prr/1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + optional: true + + /psl/1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + optional: true + + /pump/2.0.1: + resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /pumpify/1.5.1: + resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + dependencies: + duplexify: 3.7.1 + inherits: 2.0.4 + pump: 2.0.1 + dev: true + + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qs/6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + optional: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + /rechoir/0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + dependencies: + resolve: 1.22.1 + dev: true + + /reflect-metadata/0.1.13: + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + + /regenerate-unicode-properties/10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate/1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regenerator-transform/0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.20.13 + dev: true + + /regexp-clone/1.0.0: + resolution: {integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==} + + /regexpu-core/5.3.0: + resolution: {integrity: sha512-ZdhUQlng0RoscyW7jADnUZ25F5eVtHdMyXSb2PiwafvteRAOJUjFoUPEYZSIfP99fBIs3maLIRfpEddT78wAAQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /request/2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + requiresBuild: true + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: true + optional: true + + /require-at/1.0.6: + resolution: {integrity: sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==} + engines: {node: '>=4'} + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor/3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-async/2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /run-queue/1.0.3: + resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} + dependencies: + aproba: 1.2.0 + dev: true + + /rxjs/6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /saslprep/1.0.3: + resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + sparse-bitfield: 3.0.3 + optional: true + + /sax/1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + + /schema-utils/1.0.0: + resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} + engines: {node: '>= 4'} + dependencies: + ajv: 6.12.6 + ajv-errors: 1.0.1_ajv@6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + + /schema-utils/2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + + /schema-utils/3.1.1: + resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + + /schema-utils/4.0.0: + resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 8.12.0 + ajv-formats: 2.1.1 + ajv-keywords: 5.1.0_ajv@8.12.0 + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /seq-queue/0.0.5: + resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} + + /serialize-javascript/4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serialize-javascript/6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + + /sha.js/2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + /shallow-clone/3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /sift/13.5.2: + resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /slash/1.0.0: + resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} + engines: {node: '>=0.10.0'} + dev: true + + /sliced/1.0.1: + resolution: {integrity: sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==} + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /sparse-bitfield/3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + dependencies: + memory-pager: 1.5.0 + optional: true + + /sqlstring/2.3.3: + resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} + engines: {node: '>= 0.6'} + + /sshpk/1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + optional: true + + /ssri/6.0.2: + resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} + dependencies: + figgy-pudding: 3.5.2 + dev: true + + /stream-each/1.2.3: + resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} + dependencies: + end-of-stream: 1.4.4 + stream-shift: 1.0.1 + dev: true + + /stream-shift/1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /terser-webpack-plugin/5.3.6_webpack@5.75.0: + resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.1 + terser: 5.16.3 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /terser/5.16.3: + resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /through2/2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tough-cookie/2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + dev: true + optional: true + + /ts-loader/9.4.2_hhrrucqyg4eysmfpujvov2ym5u: + resolution: {integrity: sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.12.0 + micromatch: 4.0.5 + semver: 7.3.8 + typescript: registry.npmmirror.com/typescript/4.9.5 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + /tunnel-agent/0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + optional: true + + /tweetnacl/0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + optional: true + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /typedarray/0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: true + + /typeorm/0.3.11_vi676j5qc66lrw5lu3uf7yadem: + resolution: {integrity: sha512-pzdOyWbVuz/z8Ww6gqvBW4nylsM0KLdUCDExr2gR20/x1khGSVxQkjNV/3YqliG90jrWzrknYbYscpk8yxFJVg==} + engines: {node: '>= 12.9.0'} + hasBin: true + peerDependencies: + '@google-cloud/spanner': ^5.18.0 + '@sap/hana-client': ^2.12.25 + better-sqlite3: ^7.1.2 || ^8.0.0 + hdb-pool: ^0.1.6 + ioredis: ^5.0.4 + mongodb: ^3.6.0 + mssql: ^7.3.0 + mysql2: ^2.2.5 + oracledb: ^5.1.0 + pg: ^8.5.1 + pg-native: ^3.0.0 + pg-query-stream: ^4.0.0 + redis: ^3.1.1 || ^4.0.0 + sql.js: ^1.4.0 + sqlite3: ^5.0.3 + ts-node: ^10.7.0 + typeorm-aurora-data-api-driver: ^2.0.0 + peerDependenciesMeta: + '@google-cloud/spanner': + optional: true + '@sap/hana-client': + optional: true + better-sqlite3: + optional: true + hdb-pool: + optional: true + ioredis: + optional: true + mongodb: + optional: true + mssql: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-native: + optional: true + pg-query-stream: + optional: true + redis: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + ts-node: + optional: true + typeorm-aurora-data-api-driver: + optional: true + dependencies: + '@sqltools/formatter': 1.2.5 + app-root-path: 3.1.0 + buffer: 6.0.3 + chalk: 4.1.2 + cli-highlight: 2.1.11 + date-fns: 2.29.3 + debug: 4.3.4 + dotenv: 16.0.3 + glob: 7.2.3 + js-yaml: 4.1.0 + mkdirp: 1.0.4 + mysql2: 3.0.1 + reflect-metadata: 0.1.13 + sha.js: 2.4.11 + ts-node: registry.npmmirror.com/ts-node/10.9.1_bdgp3l2zgaopogaavxusmetvge + tslib: 2.5.0 + uuid: 8.3.2 + xml2js: 0.4.23 + yargs: 17.6.2 + transitivePeerDependencies: + - supports-color + + /unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript/2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript/2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unique-filename/1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + dependencies: + unique-slug: 2.0.2 + dev: true + + /unique-slug/2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + dependencies: + imurmurhash: 0.1.4 + dev: true + + /update-browserslist-db/1.0.10_browserslist@4.21.5: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /url-loader/4.1.1_webpack@5.75.0: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.1.1 + webpack: 5.75.0_webpack-cli@5.0.1 + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid/3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + /uuid/9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: false + + /verror/1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + optional: true + + /watchpack/2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + dev: true + + /webpack-cli/5.0.1_webpack@5.75.0: + resolution: {integrity: sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq + '@webpack-cli/info': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq + '@webpack-cli/serve': 2.0.1_rjsyjcrmk25kqsjzwkvj3a2evq + colorette: 2.0.19 + commander: 9.5.0 + cross-spawn: 7.0.3 + envinfo: 7.8.1 + fastest-levenshtein: 1.0.16 + import-local: 3.1.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.75.0_webpack-cli@5.0.1 + webpack-merge: 5.8.0 + dev: true + + /webpack-log/2.0.0: + resolution: {integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==} + engines: {node: '>= 6'} + dependencies: + ansi-colors: 3.2.4 + uuid: 3.4.0 + dev: true + + /webpack-merge/5.8.0: + resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + wildcard: 2.0.0 + dev: true + + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack/5.75.0_webpack-cli@5.0.1: + resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.2 + acorn-import-assertions: 1.8.0_acorn@8.8.2 + browserslist: 4.21.5 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.12.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.6_webpack@5.75.0 + watchpack: 2.4.0 + webpack-cli: 5.0.1_webpack@5.75.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wildcard/2.0.0: + resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xml2js/0.4.23: + resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.2.4 + xmlbuilder: 11.0.1 + + /xmlbuilder/11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + /yargs/17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + registry.npmmirror.com/@ampproject/remapping/2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz} name: '@ampproject/remapping' @@ -182,7 +4809,7 @@ packages: '@angular-devkit/core': registry.npmmirror.com/@angular-devkit/core/15.1.4_chokidar@3.5.3 '@angular-devkit/schematics': registry.npmmirror.com/@angular-devkit/schematics/15.1.4_chokidar@3.5.3 ansi-colors: registry.npmmirror.com/ansi-colors/4.1.3 - inquirer: registry.npmmirror.com/inquirer/8.2.4 + inquirer: 8.2.4 symbol-observable: registry.npmmirror.com/symbol-observable/4.0.0 yargs-parser: registry.npmmirror.com/yargs-parser/21.1.1 transitivePeerDependencies: @@ -493,7 +5120,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.19.1 - chalk: registry.npmmirror.com/chalk/2.4.2 + chalk: 2.4.2 js-tokens: registry.npmmirror.com/js-tokens/4.0.0 dev: true @@ -584,15 +5211,6 @@ packages: to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 dev: true - registry.npmmirror.com/@colors/colors/1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz} - name: '@colors/colors' - version: 1.5.0 - engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true - optional: true - registry.npmmirror.com/@cspotcode/source-map-support/0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz} name: '@cspotcode/source-map-support' @@ -600,7 +5218,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9 - dev: true registry.npmmirror.com/@ctrl/tinycolor/3.5.0: resolution: {integrity: sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz} @@ -621,248 +5238,6 @@ packages: version: 0.7.5 dev: false - registry.npmmirror.com/@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz} - name: '@esbuild/android-arm' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz} - name: '@esbuild/android-arm64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz} - name: '@esbuild/android-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz} - name: '@esbuild/darwin-arm64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz} - name: '@esbuild/darwin-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz} - name: '@esbuild/freebsd-arm64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz} - name: '@esbuild/freebsd-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz} - name: '@esbuild/linux-arm' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz} - name: '@esbuild/linux-arm64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz} - name: '@esbuild/linux-ia32' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz} - name: '@esbuild/linux-loong64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz} - name: '@esbuild/linux-mips64el' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz} - name: '@esbuild/linux-ppc64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz} - name: '@esbuild/linux-riscv64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz} - name: '@esbuild/linux-s390x' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz} - name: '@esbuild/linux-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz} - name: '@esbuild/netbsd-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz} - name: '@esbuild/openbsd-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz} - name: '@esbuild/sunos-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz} - name: '@esbuild/win32-arm64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz} - name: '@esbuild/win32-ia32' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz} - name: '@esbuild/win32-x64' - version: 0.16.17 - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - registry.npmmirror.com/@eslint/eslintrc/1.4.1: resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz} name: '@eslint/eslintrc' @@ -934,7 +5309,6 @@ packages: name: '@jridgewell/resolve-uri' version: 3.1.0 engines: {node: '>=6.0.0'} - dev: true registry.npmmirror.com/@jridgewell/set-array/1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz} @@ -943,20 +5317,10 @@ packages: engines: {node: '>=6.0.0'} dev: true - registry.npmmirror.com/@jridgewell/source-map/0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz} - name: '@jridgewell/source-map' - version: 0.3.2 - dependencies: - '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2 - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 - dev: true - registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz} name: '@jridgewell/sourcemap-codec' version: 1.4.14 - dev: true registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz} @@ -974,7 +5338,6 @@ packages: dependencies: '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0 '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 - dev: true registry.npmmirror.com/@lukeed/csprng/1.0.1: resolution: {integrity: sha512-uSvJdwQU5nK+Vdf6zxcWAY2A8r7uqe+gePwLWzJ+fsQehq18pc0I2hJKwypZ2aLM90+Er9u1xn4iLJPZ+xlL4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@lukeed/csprng/-/csprng-1.0.1.tgz} @@ -982,8 +5345,9 @@ packages: version: 1.0.1 engines: {node: '>=8'} - registry.npmmirror.com/@nestjs/cli/9.2.0: + registry.npmmirror.com/@nestjs/cli/9.2.0_webpack-cli@5.0.1: resolution: {integrity: sha512-6B1IjDcJbrOu55oMF67L1x5lDUOZ3Zs9l7bKCBH9D78965m8wq/2rlEWl/gJto5TABLQWy3hVvV/s8VzUlRMxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nestjs/cli/-/cli-9.2.0.tgz} + id: registry.npmmirror.com/@nestjs/cli/9.2.0 name: '@nestjs/cli' version: 9.2.0 engines: {node: '>= 12.9.0'} @@ -993,12 +5357,12 @@ packages: '@angular-devkit/schematics': registry.npmmirror.com/@angular-devkit/schematics/15.1.4_chokidar@3.5.3 '@angular-devkit/schematics-cli': registry.npmmirror.com/@angular-devkit/schematics-cli/15.1.4_chokidar@3.5.3 '@nestjs/schematics': registry.npmmirror.com/@nestjs/schematics/9.0.4_n7i3t5jmyrdrkypb5pvfihcmg4 - chalk: registry.npmmirror.com/chalk/3.0.0 + chalk: 3.0.0 chokidar: registry.npmmirror.com/chokidar/3.5.3 cli-table3: registry.npmmirror.com/cli-table3/0.6.3 commander: registry.npmmirror.com/commander/4.1.1 fork-ts-checker-webpack-plugin: registry.npmmirror.com/fork-ts-checker-webpack-plugin/7.3.0_hhrrucqyg4eysmfpujvov2ym5u - inquirer: registry.npmmirror.com/inquirer/7.3.3 + inquirer: 7.3.3 node-emoji: registry.npmmirror.com/node-emoji/1.11.0 ora: registry.npmmirror.com/ora/5.4.1 os-name: registry.npmmirror.com/os-name/4.0.1 @@ -1009,7 +5373,7 @@ packages: tsconfig-paths: registry.npmmirror.com/tsconfig-paths/4.1.2 tsconfig-paths-webpack-plugin: registry.npmmirror.com/tsconfig-paths-webpack-plugin/4.0.0 typescript: registry.npmmirror.com/typescript/4.9.5 - webpack: registry.npmmirror.com/webpack/5.75.0 + webpack: 5.75.0_webpack-cli@5.0.1 webpack-node-externals: registry.npmmirror.com/webpack-node-externals/3.0.0 transitivePeerDependencies: - '@swc/core' @@ -1133,28 +5497,6 @@ packages: - chokidar dev: true - registry.npmmirror.com/@nestjs/testing/9.3.7_hxc5gkmejwink2uhle7e37kg2q: - resolution: {integrity: sha512-tNJuNYfDXMJzTgQXRwnQtLdd7PIIqrSsZ//TP/wnqPnbUpTkWMCSK5exWfPWvdyS8P3Fy2wy5hNj8Rvp9+KvYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nestjs/testing/-/testing-9.3.7.tgz} - id: registry.npmmirror.com/@nestjs/testing/9.3.7 - name: '@nestjs/testing' - version: 9.3.7 - peerDependencies: - '@nestjs/common': ^9.0.0 - '@nestjs/core': ^9.0.0 - '@nestjs/microservices': ^9.0.0 - '@nestjs/platform-express': ^9.0.0 - peerDependenciesMeta: - '@nestjs/microservices': - optional: true - '@nestjs/platform-express': - optional: true - dependencies: - '@nestjs/common': registry.npmmirror.com/@nestjs/common/9.3.7_mnr6j2del53muneqly5h4y27ai - '@nestjs/core': registry.npmmirror.com/@nestjs/core/9.3.7_ipss6dxf5icme2x7c6jvrkkrmq - '@nestjs/platform-express': registry.npmmirror.com/@nestjs/platform-express/9.3.7_zmctrozi6xxh3beaccl6ebop6u - tslib: registry.npmmirror.com/tslib/2.5.0 - dev: true - registry.npmmirror.com/@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz} name: '@nodelib/fs.scandir' @@ -1189,7 +5531,7 @@ packages: engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 consola: registry.npmmirror.com/consola/2.15.3 node-fetch: registry.npmmirror.com/node-fetch/2.6.9 transitivePeerDependencies: @@ -1283,25 +5625,21 @@ packages: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.9.tgz} name: '@tsconfig/node10' version: 1.0.9 - dev: true registry.npmmirror.com/@tsconfig/node12/1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz} name: '@tsconfig/node12' version: 1.0.11 - dev: true registry.npmmirror.com/@tsconfig/node14/1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz} name: '@tsconfig/node14' version: 1.0.3 - dev: true registry.npmmirror.com/@tsconfig/node16/1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.3.tgz} name: '@tsconfig/node16' version: 1.0.3 - dev: true registry.npmmirror.com/@types/body-parser/1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz} @@ -1320,30 +5658,6 @@ packages: '@types/node': registry.npmmirror.com/@types/node/18.13.0 dev: true - registry.npmmirror.com/@types/eslint-scope/3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz} - name: '@types/eslint-scope' - version: 3.7.4 - dependencies: - '@types/eslint': registry.npmmirror.com/@types/eslint/8.21.0 - '@types/estree': registry.npmmirror.com/@types/estree/0.0.51 - dev: true - - registry.npmmirror.com/@types/eslint/8.21.0: - resolution: {integrity: sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/eslint/-/eslint-8.21.0.tgz} - name: '@types/eslint' - version: 8.21.0 - dependencies: - '@types/estree': registry.npmmirror.com/@types/estree/0.0.51 - '@types/json-schema': registry.npmmirror.com/@types/json-schema/7.0.11 - dev: true - - registry.npmmirror.com/@types/estree/0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz} - name: '@types/estree' - version: 0.0.51 - dev: true - registry.npmmirror.com/@types/express-serve-static-core/4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz} name: '@types/express-serve-static-core' @@ -1387,7 +5701,6 @@ packages: resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-18.11.18.tgz} name: '@types/node' version: 18.11.18 - dev: true registry.npmmirror.com/@types/node/18.13.0: resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-18.13.0.tgz} @@ -1647,174 +5960,15 @@ packages: - supports-color dev: true - registry.npmmirror.com/@webassemblyjs/ast/1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz} - name: '@webassemblyjs/ast' - version: 1.11.1 - dependencies: - '@webassemblyjs/helper-numbers': registry.npmmirror.com/@webassemblyjs/helper-numbers/1.11.1 - '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz} - name: '@webassemblyjs/floating-point-hex-parser' - version: 1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/helper-api-error/1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz} - name: '@webassemblyjs/helper-api-error' - version: 1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/helper-buffer/1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz} - name: '@webassemblyjs/helper-buffer' - version: 1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/helper-numbers/1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz} - name: '@webassemblyjs/helper-numbers' - version: 1.11.1 - dependencies: - '@webassemblyjs/floating-point-hex-parser': registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/1.11.1 - '@webassemblyjs/helper-api-error': registry.npmmirror.com/@webassemblyjs/helper-api-error/1.11.1 - '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 - dev: true - - registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz} - name: '@webassemblyjs/helper-wasm-bytecode' - version: 1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/helper-wasm-section/1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz} - name: '@webassemblyjs/helper-wasm-section' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.11.1 - '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1 - '@webassemblyjs/wasm-gen': registry.npmmirror.com/@webassemblyjs/wasm-gen/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/ieee754/1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz} - name: '@webassemblyjs/ieee754' - version: 1.11.1 - dependencies: - '@xtuc/ieee754': registry.npmmirror.com/@xtuc/ieee754/1.2.0 - dev: true - - registry.npmmirror.com/@webassemblyjs/leb128/1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz} - name: '@webassemblyjs/leb128' - version: 1.11.1 - dependencies: - '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 - dev: true - - registry.npmmirror.com/@webassemblyjs/utf8/1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz} - name: '@webassemblyjs/utf8' - version: 1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/wasm-edit/1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz} - name: '@webassemblyjs/wasm-edit' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.11.1 - '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1 - '@webassemblyjs/helper-wasm-section': registry.npmmirror.com/@webassemblyjs/helper-wasm-section/1.11.1 - '@webassemblyjs/wasm-gen': registry.npmmirror.com/@webassemblyjs/wasm-gen/1.11.1 - '@webassemblyjs/wasm-opt': registry.npmmirror.com/@webassemblyjs/wasm-opt/1.11.1 - '@webassemblyjs/wasm-parser': registry.npmmirror.com/@webassemblyjs/wasm-parser/1.11.1 - '@webassemblyjs/wast-printer': registry.npmmirror.com/@webassemblyjs/wast-printer/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/wasm-gen/1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz} - name: '@webassemblyjs/wasm-gen' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1 - '@webassemblyjs/ieee754': registry.npmmirror.com/@webassemblyjs/ieee754/1.11.1 - '@webassemblyjs/leb128': registry.npmmirror.com/@webassemblyjs/leb128/1.11.1 - '@webassemblyjs/utf8': registry.npmmirror.com/@webassemblyjs/utf8/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/wasm-opt/1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz} - name: '@webassemblyjs/wasm-opt' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.11.1 - '@webassemblyjs/wasm-gen': registry.npmmirror.com/@webassemblyjs/wasm-gen/1.11.1 - '@webassemblyjs/wasm-parser': registry.npmmirror.com/@webassemblyjs/wasm-parser/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/wasm-parser/1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz} - name: '@webassemblyjs/wasm-parser' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/helper-api-error': registry.npmmirror.com/@webassemblyjs/helper-api-error/1.11.1 - '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.11.1 - '@webassemblyjs/ieee754': registry.npmmirror.com/@webassemblyjs/ieee754/1.11.1 - '@webassemblyjs/leb128': registry.npmmirror.com/@webassemblyjs/leb128/1.11.1 - '@webassemblyjs/utf8': registry.npmmirror.com/@webassemblyjs/utf8/1.11.1 - dev: true - - registry.npmmirror.com/@webassemblyjs/wast-printer/1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz} - name: '@webassemblyjs/wast-printer' - version: 1.11.1 - dependencies: - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 - dev: true - - registry.npmmirror.com/@xtuc/ieee754/1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz} - name: '@xtuc/ieee754' - version: 1.2.0 - dev: true - - registry.npmmirror.com/@xtuc/long/4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz} - name: '@xtuc/long' - version: 4.2.2 - dev: true - registry.npmmirror.com/accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz} name: accepts version: 1.3.8 engines: {node: '>= 0.6'} dependencies: - mime-types: registry.npmmirror.com/mime-types/2.1.35 + mime-types: 2.1.35 negotiator: registry.npmmirror.com/negotiator/0.6.3 - registry.npmmirror.com/acorn-import-assertions/1.8.0_acorn@8.8.2: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz} - id: registry.npmmirror.com/acorn-import-assertions/1.8.0 - name: acorn-import-assertions - version: 1.8.0 - peerDependencies: - acorn: ^8 - dependencies: - acorn: registry.npmmirror.com/acorn/8.8.2 - dev: true - registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz} id: registry.npmmirror.com/acorn-jsx/5.3.2 @@ -1831,7 +5985,6 @@ packages: name: acorn-walk version: 8.2.0 engines: {node: '>=0.4.0'} - dev: true registry.npmmirror.com/acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz} @@ -1839,7 +5992,6 @@ packages: version: 8.8.2 engines: {node: '>=0.4.0'} hasBin: true - dev: true registry.npmmirror.com/ajv-formats/2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz} @@ -1919,15 +6071,6 @@ packages: engines: {node: '>=8'} dev: true - registry.npmmirror.com/ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz} - name: ansi-styles - version: 3.2.1 - engines: {node: '>=4'} - dependencies: - color-convert: registry.npmmirror.com/color-convert/1.9.3 - dev: true - registry.npmmirror.com/ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz} name: ansi-styles @@ -1935,6 +6078,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: registry.npmmirror.com/color-convert/2.0.1 + dev: true registry.npmmirror.com/antd/5.2.0_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-FZDgV60I2sZ0ZpxcP1vq+lwNM+OwMESjT1A2Zs9mgyK1P3X4JILugD+m05IZoUqkjWO80IKNUo9qkE1S1rEB6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/antd/-/antd-5.2.0.tgz} @@ -2005,7 +6149,7 @@ packages: version: 3.1.3 engines: {node: '>= 8'} dependencies: - normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + normalize-path: 3.0.0 picomatch: registry.npmmirror.com/picomatch/2.3.1 dev: true @@ -2018,7 +6162,6 @@ packages: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz} name: arg version: 4.1.3 - dev: true registry.npmmirror.com/argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz} @@ -2180,36 +6323,6 @@ packages: version: 1.0.30001451 dev: true - registry.npmmirror.com/chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz} - name: chalk - version: 2.4.2 - engines: {node: '>=4'} - dependencies: - ansi-styles: registry.npmmirror.com/ansi-styles/3.2.1 - escape-string-regexp: registry.npmmirror.com/escape-string-regexp/1.0.5 - supports-color: registry.npmmirror.com/supports-color/5.5.0 - dev: true - - registry.npmmirror.com/chalk/3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz} - name: chalk - version: 3.0.0 - engines: {node: '>=8'} - dependencies: - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 - supports-color: registry.npmmirror.com/supports-color/7.2.0 - dev: true - - registry.npmmirror.com/chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz} - name: chalk - version: 4.1.2 - engines: {node: '>=10'} - dependencies: - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 - supports-color: registry.npmmirror.com/supports-color/7.2.0 - registry.npmmirror.com/chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz} name: chardet @@ -2230,14 +6343,7 @@ packages: normalize-path: registry.npmmirror.com/normalize-path/3.0.0 readdirp: registry.npmmirror.com/readdirp/3.6.0 optionalDependencies: - fsevents: registry.npmmirror.com/fsevents/2.3.2 - dev: true - - registry.npmmirror.com/chrome-trace-event/1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz} - name: chrome-trace-event - version: 1.0.3 - engines: {node: '>=6.0'} + fsevents: 2.3.2 dev: true registry.npmmirror.com/classnames/2.3.2: @@ -2270,7 +6376,7 @@ packages: dependencies: string-width: registry.npmmirror.com/string-width/4.2.3 optionalDependencies: - '@colors/colors': registry.npmmirror.com/@colors/colors/1.5.0 + '@colors/colors': 1.5.0 dev: true registry.npmmirror.com/cli-width/3.0.0: @@ -2280,21 +6386,6 @@ packages: engines: {node: '>= 10'} dev: true - registry.npmmirror.com/clone/1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz} - name: clone - version: 1.0.4 - engines: {node: '>=0.8'} - dev: true - - registry.npmmirror.com/color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz} - name: color-convert - version: 1.9.3 - dependencies: - color-name: registry.npmmirror.com/color-name/1.1.3 - dev: true - registry.npmmirror.com/color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz} name: color-convert @@ -2302,22 +6393,12 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: registry.npmmirror.com/color-name/1.1.4 - - registry.npmmirror.com/color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz} - name: color-name - version: 1.1.3 dev: true registry.npmmirror.com/color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} name: color-name version: 1.1.4 - - registry.npmmirror.com/commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz} - name: commander - version: 2.20.3 dev: true registry.npmmirror.com/commander/4.1.1: @@ -2432,7 +6513,6 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz} name: create-require version: 1.1.1 - dev: true registry.npmmirror.com/cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz} @@ -2468,19 +6548,6 @@ packages: dependencies: ms: registry.npmmirror.com/ms/2.0.0 - registry.npmmirror.com/debug/3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz} - name: debug - version: 3.2.7 - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: registry.npmmirror.com/ms/2.1.3 - optional: true - registry.npmmirror.com/debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz} name: debug @@ -2513,7 +6580,7 @@ packages: name: defaults version: 1.0.4 dependencies: - clone: registry.npmmirror.com/clone/1.0.4 + clone: 1.0.4 dev: true registry.npmmirror.com/depd/2.0.0: @@ -2533,7 +6600,6 @@ packages: name: diff version: 4.0.2 engines: {node: '>=0.3.1'} - dev: true registry.npmmirror.com/dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz} @@ -2541,7 +6607,7 @@ packages: version: 3.0.1 engines: {node: '>=8'} dependencies: - path-type: registry.npmmirror.com/path-type/4.0.0 + path-type: 4.0.0 dev: true registry.npmmirror.com/doctrine/3.0.0: @@ -2596,20 +6662,10 @@ packages: version: 5.12.0 engines: {node: '>=10.13.0'} dependencies: - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + graceful-fs: 4.2.10 tapable: registry.npmmirror.com/tapable/2.2.1 dev: true - registry.npmmirror.com/errno/0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz} - name: errno - version: 0.1.8 - hasBin: true - requiresBuild: true - dependencies: - prr: registry.npmmirror.com/prr/1.0.1 - optional: true - registry.npmmirror.com/error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz} name: error-ex @@ -2618,12 +6674,6 @@ packages: is-arrayish: registry.npmmirror.com/is-arrayish/0.2.1 dev: true - registry.npmmirror.com/es-module-lexer/0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz} - name: es-module-lexer - version: 0.9.3 - dev: true - registry.npmmirror.com/esbuild/0.16.17: resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz} name: esbuild @@ -2632,28 +6682,28 @@ packages: hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.16.17 - '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.16.17 - '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.16.17 - '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17 - '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.16.17 - '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17 - '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17 - '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.16.17 - '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.16.17 - '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.16.17 - '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.16.17 - '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17 - '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17 - '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17 - '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.16.17 - '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.16.17 - '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17 - '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17 - '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.16.17 - '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.16.17 - '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.16.17 - '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.16.17 + '@esbuild/android-arm': 0.16.17 + '@esbuild/android-arm64': 0.16.17 + '@esbuild/android-x64': 0.16.17 + '@esbuild/darwin-arm64': 0.16.17 + '@esbuild/darwin-x64': 0.16.17 + '@esbuild/freebsd-arm64': 0.16.17 + '@esbuild/freebsd-x64': 0.16.17 + '@esbuild/linux-arm': 0.16.17 + '@esbuild/linux-arm64': 0.16.17 + '@esbuild/linux-ia32': 0.16.17 + '@esbuild/linux-loong64': 0.16.17 + '@esbuild/linux-mips64el': 0.16.17 + '@esbuild/linux-ppc64': 0.16.17 + '@esbuild/linux-riscv64': 0.16.17 + '@esbuild/linux-s390x': 0.16.17 + '@esbuild/linux-x64': 0.16.17 + '@esbuild/netbsd-x64': 0.16.17 + '@esbuild/openbsd-x64': 0.16.17 + '@esbuild/sunos-x64': 0.16.17 + '@esbuild/win32-arm64': 0.16.17 + '@esbuild/win32-ia32': 0.16.17 + '@esbuild/win32-x64': 0.16.17 dev: true registry.npmmirror.com/escalade/3.1.1: @@ -2773,7 +6823,7 @@ packages: '@humanwhocodes/module-importer': registry.npmmirror.com/@humanwhocodes/module-importer/1.0.1 '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk/1.2.8 ajv: registry.npmmirror.com/ajv/6.12.6 - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3 debug: registry.npmmirror.com/debug/4.3.4 doctrine: registry.npmmirror.com/doctrine/3.0.0 @@ -2867,20 +6917,13 @@ packages: version: 1.8.1 engines: {node: '>= 0.6'} - registry.npmmirror.com/events/3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/events/-/events-3.3.0.tgz} - name: events - version: 3.3.0 - engines: {node: '>=0.8.x'} - dev: true - registry.npmmirror.com/execa/4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz} name: execa version: 4.1.0 engines: {node: '>=10'} dependencies: - cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3 + cross-spawn: 7.0.3 get-stream: registry.npmmirror.com/get-stream/5.2.0 human-signals: registry.npmmirror.com/human-signals/1.1.1 is-stream: registry.npmmirror.com/is-stream/2.0.1 @@ -2954,19 +6997,6 @@ packages: version: 1.2.0 dev: true - registry.npmmirror.com/fast-glob/3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz} - name: fast-glob - version: 3.2.12 - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 - '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk/1.2.8 - glob-parent: registry.npmmirror.com/glob-parent/5.1.2 - merge2: registry.npmmirror.com/merge2/1.4.1 - micromatch: registry.npmmirror.com/micromatch/4.0.5 - dev: true - registry.npmmirror.com/fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz} name: fast-json-stable-stringify @@ -3076,7 +7106,7 @@ packages: optional: true dependencies: '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 chokidar: registry.npmmirror.com/chokidar/3.5.3 cosmiconfig: registry.npmmirror.com/cosmiconfig/7.1.0 deepmerge: registry.npmmirror.com/deepmerge/4.3.0 @@ -3088,7 +7118,7 @@ packages: semver: registry.npmmirror.com/semver/7.3.8 tapable: registry.npmmirror.com/tapable/2.2.1 typescript: registry.npmmirror.com/typescript/4.9.5 - webpack: registry.npmmirror.com/webpack/5.75.0 + webpack: 5.75.0_webpack-cli@5.0.1 dev: true registry.npmmirror.com/forwarded/0.2.0: @@ -3109,7 +7139,7 @@ packages: version: 10.1.0 engines: {node: '>=12'} dependencies: - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + graceful-fs: 4.2.10 jsonfile: registry.npmmirror.com/jsonfile/6.1.0 universalify: registry.npmmirror.com/universalify/2.0.0 dev: true @@ -3137,16 +7167,6 @@ packages: version: 1.0.0 dev: true - registry.npmmirror.com/fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} - name: fsevents - version: 2.3.2 - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - registry.npmmirror.com/function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} name: function-bind @@ -3195,12 +7215,6 @@ packages: is-glob: registry.npmmirror.com/is-glob/4.0.3 dev: true - registry.npmmirror.com/glob-to-regexp/0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz} - name: glob-to-regexp - version: 0.4.1 - dev: true - registry.npmmirror.com/glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz} name: glob @@ -3238,7 +7252,7 @@ packages: dependencies: array-union: registry.npmmirror.com/array-union/2.1.0 dir-glob: registry.npmmirror.com/dir-glob/3.0.1 - fast-glob: registry.npmmirror.com/fast-glob/3.2.12 + fast-glob: 3.2.12 ignore: registry.npmmirror.com/ignore/5.2.4 merge2: registry.npmmirror.com/merge2/1.4.1 slash: registry.npmmirror.com/slash/3.0.0 @@ -3254,6 +7268,7 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} name: graceful-fs version: 4.2.10 + dev: true registry.npmmirror.com/grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz} @@ -3261,18 +7276,12 @@ packages: version: 1.0.4 dev: true - registry.npmmirror.com/has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz} - name: has-flag - version: 3.0.0 - engines: {node: '>=4'} - dev: true - registry.npmmirror.com/has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz} name: has-flag version: 4.0.0 engines: {node: '>=8'} + dev: true registry.npmmirror.com/has-symbols/1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz} @@ -3315,15 +7324,6 @@ packages: dependencies: safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2 - registry.npmmirror.com/iconv-lite/0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz} - name: iconv-lite - version: 0.6.3 - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2 - optional: true - registry.npmmirror.com/ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz} name: ieee754 @@ -3337,15 +7337,6 @@ packages: engines: {node: '>= 4'} dev: true - registry.npmmirror.com/image-size/0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz} - name: image-size - version: 0.5.5 - engines: {node: '>=0.10.0'} - hasBin: true - requiresBuild: true - optional: true - registry.npmmirror.com/import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz} name: import-fresh @@ -3377,50 +7368,6 @@ packages: name: inherits version: 2.0.4 - registry.npmmirror.com/inquirer/7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inquirer/-/inquirer-7.3.3.tgz} - name: inquirer - version: 7.3.3 - engines: {node: '>=8.0.0'} - dependencies: - ansi-escapes: registry.npmmirror.com/ansi-escapes/4.3.2 - chalk: registry.npmmirror.com/chalk/4.1.2 - cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 - cli-width: registry.npmmirror.com/cli-width/3.0.0 - external-editor: registry.npmmirror.com/external-editor/3.1.0 - figures: registry.npmmirror.com/figures/3.2.0 - lodash: registry.npmmirror.com/lodash/4.17.21 - mute-stream: registry.npmmirror.com/mute-stream/0.0.8 - run-async: registry.npmmirror.com/run-async/2.4.1 - rxjs: registry.npmmirror.com/rxjs/6.6.7 - string-width: registry.npmmirror.com/string-width/4.2.3 - strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 - through: registry.npmmirror.com/through/2.3.8 - dev: true - - registry.npmmirror.com/inquirer/8.2.4: - resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inquirer/-/inquirer-8.2.4.tgz} - name: inquirer - version: 8.2.4 - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: registry.npmmirror.com/ansi-escapes/4.3.2 - chalk: registry.npmmirror.com/chalk/4.1.2 - cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 - cli-width: registry.npmmirror.com/cli-width/3.0.0 - external-editor: registry.npmmirror.com/external-editor/3.1.0 - figures: registry.npmmirror.com/figures/3.2.0 - lodash: registry.npmmirror.com/lodash/4.17.21 - mute-stream: registry.npmmirror.com/mute-stream/0.0.8 - ora: registry.npmmirror.com/ora/5.4.1 - run-async: registry.npmmirror.com/run-async/2.4.1 - rxjs: registry.npmmirror.com/rxjs/7.8.0 - string-width: registry.npmmirror.com/string-width/4.2.3 - strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 - through: registry.npmmirror.com/through/2.3.8 - wrap-ansi: registry.npmmirror.com/wrap-ansi/7.0.0 - dev: true - registry.npmmirror.com/interpret/1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz} name: interpret @@ -3537,17 +7484,6 @@ packages: version: 1.2.1 engines: {node: '>=6'} - registry.npmmirror.com/jest-worker/27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz} - name: jest-worker - version: 27.5.1 - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': registry.npmmirror.com/@types/node/18.13.0 - merge-stream: registry.npmmirror.com/merge-stream/2.0.0 - supports-color: registry.npmmirror.com/supports-color/8.1.1 - dev: true - registry.npmmirror.com/js-sdsl/4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.3.0.tgz} name: js-sdsl @@ -3629,7 +7565,7 @@ packages: dependencies: universalify: registry.npmmirror.com/universalify/2.0.0 optionalDependencies: - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + graceful-fs: 4.2.10 dev: true registry.npmmirror.com/less/4.1.3: @@ -3643,13 +7579,13 @@ packages: parse-node-version: registry.npmmirror.com/parse-node-version/1.0.1 tslib: registry.npmmirror.com/tslib/2.5.0 optionalDependencies: - errno: registry.npmmirror.com/errno/0.1.8 - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 - image-size: registry.npmmirror.com/image-size/0.5.5 - make-dir: registry.npmmirror.com/make-dir/2.1.0 - mime: registry.npmmirror.com/mime/1.6.0 - needle: registry.npmmirror.com/needle/3.2.0 - source-map: registry.npmmirror.com/source-map/0.6.1 + errno: 0.1.8 + graceful-fs: 4.2.10 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 transitivePeerDependencies: - supports-color @@ -3669,13 +7605,6 @@ packages: version: 1.2.4 dev: true - registry.npmmirror.com/loader-runner/4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz} - name: loader-runner - version: 4.3.0 - engines: {node: '>=6.11.5'} - dev: true - registry.npmmirror.com/locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz} name: locate-path @@ -3703,7 +7632,7 @@ packages: version: 4.1.0 engines: {node: '>=10'} dependencies: - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 is-unicode-supported: registry.npmmirror.com/is-unicode-supported/0.1.0 dev: true @@ -3758,22 +7687,10 @@ packages: '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14 dev: true - registry.npmmirror.com/make-dir/2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz} - name: make-dir - version: 2.1.0 - engines: {node: '>=6'} - requiresBuild: true - dependencies: - pify: registry.npmmirror.com/pify/4.0.1 - semver: registry.npmmirror.com/semver/5.7.1 - optional: true - registry.npmmirror.com/make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz} name: make-error version: 1.3.6 - dev: true registry.npmmirror.com/media-typer/0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz} @@ -3814,37 +7731,6 @@ packages: version: 1.1.2 engines: {node: '>= 0.6'} - registry.npmmirror.com/micromatch/4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz} - name: micromatch - version: 4.0.5 - engines: {node: '>=8.6'} - dependencies: - braces: registry.npmmirror.com/braces/3.0.2 - picomatch: registry.npmmirror.com/picomatch/2.3.1 - dev: true - - registry.npmmirror.com/mime-db/1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz} - name: mime-db - version: 1.52.0 - engines: {node: '>= 0.6'} - - registry.npmmirror.com/mime-types/2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz} - name: mime-types - version: 2.1.35 - engines: {node: '>= 0.6'} - dependencies: - mime-db: registry.npmmirror.com/mime-db/1.52.0 - - registry.npmmirror.com/mime/1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz} - name: mime - version: 1.6.0 - engines: {node: '>=4'} - hasBin: true - registry.npmmirror.com/mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz} name: mimic-fn @@ -3864,6 +7750,7 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz} name: minimist version: 1.2.8 + dev: true registry.npmmirror.com/mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz} @@ -3871,7 +7758,7 @@ packages: version: 0.5.6 hasBin: true dependencies: - minimist: registry.npmmirror.com/minimist/1.2.8 + minimist: 1.2.8 registry.npmmirror.com/ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz} @@ -3929,33 +7816,12 @@ packages: version: 1.4.0 dev: true - registry.npmmirror.com/needle/3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz} - name: needle - version: 3.2.0 - engines: {node: '>= 4.4.x'} - hasBin: true - requiresBuild: true - dependencies: - debug: registry.npmmirror.com/debug/3.2.7 - iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3 - sax: registry.npmmirror.com/sax/1.2.4 - transitivePeerDependencies: - - supports-color - optional: true - registry.npmmirror.com/negotiator/0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz} name: negotiator version: 0.6.3 engines: {node: '>= 0.6'} - registry.npmmirror.com/neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz} - name: neo-async - version: 2.6.2 - dev: true - registry.npmmirror.com/node-abort-controller/3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz} name: node-abort-controller @@ -4002,7 +7868,7 @@ packages: version: 4.0.1 engines: {node: '>=8'} dependencies: - path-key: registry.npmmirror.com/path-key/3.1.1 + path-key: 3.1.1 dev: true registry.npmmirror.com/object-assign/4.1.1: @@ -4069,7 +7935,7 @@ packages: engines: {node: '>=10'} dependencies: bl: registry.npmmirror.com/bl/4.1.0 - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 cli-cursor: registry.npmmirror.com/cli-cursor/3.1.0 cli-spinners: registry.npmmirror.com/cli-spinners/2.7.0 is-interactive: registry.npmmirror.com/is-interactive/1.0.0 @@ -4096,22 +7962,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - registry.npmmirror.com/p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz} - name: p-limit - version: 3.1.0 - engines: {node: '>=10'} - dependencies: - yocto-queue: registry.npmmirror.com/yocto-queue/0.1.0 - dev: true - registry.npmmirror.com/p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz} name: p-locate version: 5.0.0 engines: {node: '>=10'} dependencies: - p-limit: registry.npmmirror.com/p-limit/3.1.0 + p-limit: 3.1.0 dev: true registry.npmmirror.com/parent-module/1.0.1: @@ -4204,13 +8061,6 @@ packages: engines: {node: '>=8.6'} dev: true - registry.npmmirror.com/pify/4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz} - name: pify - version: 4.0.1 - engines: {node: '>=6'} - optional: true - registry.npmmirror.com/pluralize/8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pluralize/-/pluralize-8.0.0.tgz} name: pluralize @@ -4267,12 +8117,6 @@ packages: forwarded: registry.npmmirror.com/forwarded/0.2.0 ipaddr.js: registry.npmmirror.com/ipaddr.js/1.9.1 - registry.npmmirror.com/prr/1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz} - name: prr - version: 1.0.1 - optional: true - registry.npmmirror.com/pump/3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz} name: pump @@ -4314,14 +8158,6 @@ packages: version: 1.2.3 dev: true - registry.npmmirror.com/randombytes/2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz} - name: randombytes - version: 2.1.0 - dependencies: - safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1 - dev: true - registry.npmmirror.com/range-parser/1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz} name: range-parser @@ -4336,7 +8172,7 @@ packages: dependencies: bytes: registry.npmmirror.com/bytes/3.1.2 http-errors: registry.npmmirror.com/http-errors/2.0.0 - iconv-lite: registry.npmmirror.com/iconv-lite/0.4.24 + iconv-lite: 0.4.24 unpipe: registry.npmmirror.com/unpipe/1.0.0 registry.npmmirror.com/rc-align/4.0.15_biqbaboplfbrettd7655fr4n2y: @@ -5054,7 +8890,7 @@ packages: inherits: registry.npmmirror.com/inherits/2.0.4 isarray: registry.npmmirror.com/isarray/1.0.0 process-nextick-args: registry.npmmirror.com/process-nextick-args/2.0.1 - safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2 + safe-buffer: 5.1.2 string_decoder: registry.npmmirror.com/string_decoder/1.1.1 util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2 @@ -5159,7 +8995,7 @@ packages: version: 3.0.2 hasBin: true dependencies: - glob: registry.npmmirror.com/glob/7.2.3 + glob: 7.2.3 dev: true registry.npmmirror.com/rimraf/4.1.2: @@ -5177,7 +9013,7 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: registry.npmmirror.com/fsevents/2.3.2 + fsevents: 2.3.2 dev: true registry.npmmirror.com/run-async/2.4.1: @@ -5211,11 +9047,6 @@ packages: dependencies: tslib: registry.npmmirror.com/tslib/2.5.0 - registry.npmmirror.com/safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz} - name: safe-buffer - version: 5.1.2 - registry.npmmirror.com/safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz} name: safe-buffer @@ -5259,13 +9090,6 @@ packages: compute-scroll-into-view: registry.npmmirror.com/compute-scroll-into-view/2.0.4 dev: false - registry.npmmirror.com/semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz} - name: semver - version: 5.7.1 - hasBin: true - optional: true - registry.npmmirror.com/semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz} name: semver @@ -5297,7 +9121,7 @@ packages: etag: registry.npmmirror.com/etag/1.8.1 fresh: registry.npmmirror.com/fresh/0.5.2 http-errors: registry.npmmirror.com/http-errors/2.0.0 - mime: registry.npmmirror.com/mime/1.6.0 + mime: 1.6.0 ms: registry.npmmirror.com/ms/2.1.3 on-finished: registry.npmmirror.com/on-finished/2.4.1 range-parser: registry.npmmirror.com/range-parser/1.2.1 @@ -5305,14 +9129,6 @@ packages: transitivePeerDependencies: - supports-color - registry.npmmirror.com/serialize-javascript/6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz} - name: serialize-javascript - version: 6.0.1 - dependencies: - randombytes: registry.npmmirror.com/randombytes/2.1.0 - dev: true - registry.npmmirror.com/serve-static/1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz} name: serve-static @@ -5402,6 +9218,7 @@ packages: name: source-map version: 0.6.1 engines: {node: '>=0.10.0'} + dev: true registry.npmmirror.com/source-map/0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz} @@ -5451,14 +9268,14 @@ packages: name: string_decoder version: 1.1.1 dependencies: - safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2 + safe-buffer: 5.1.2 registry.npmmirror.com/string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz} name: string_decoder version: 1.3.0 dependencies: - safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1 + safe-buffer: 5.2.1 dev: true registry.npmmirror.com/strip-ansi/6.0.1: @@ -5497,15 +9314,6 @@ packages: version: 4.1.3 dev: false - registry.npmmirror.com/supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz} - name: supports-color - version: 5.5.0 - engines: {node: '>=4'} - dependencies: - has-flag: registry.npmmirror.com/has-flag/3.0.0 - dev: true - registry.npmmirror.com/supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz} name: supports-color @@ -5513,14 +9321,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: registry.npmmirror.com/has-flag/4.0.0 - - registry.npmmirror.com/supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz} - name: supports-color - version: 8.1.1 - engines: {node: '>=10'} - dependencies: - has-flag: registry.npmmirror.com/has-flag/4.0.0 dev: true registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0: @@ -5544,46 +9344,6 @@ packages: engines: {node: '>=6'} dev: true - registry.npmmirror.com/terser-webpack-plugin/5.3.6_webpack@5.75.0: - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz} - id: registry.npmmirror.com/terser-webpack-plugin/5.3.6 - name: terser-webpack-plugin - version: 5.3.6 - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 - jest-worker: registry.npmmirror.com/jest-worker/27.5.1 - schema-utils: registry.npmmirror.com/schema-utils/3.1.1 - serialize-javascript: registry.npmmirror.com/serialize-javascript/6.0.1 - terser: registry.npmmirror.com/terser/5.16.3 - webpack: registry.npmmirror.com/webpack/5.75.0 - dev: true - - registry.npmmirror.com/terser/5.16.3: - resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser/-/terser-5.16.3.tgz} - name: terser - version: 5.16.3 - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': registry.npmmirror.com/@jridgewell/source-map/0.3.2 - acorn: registry.npmmirror.com/acorn/8.8.2 - commander: registry.npmmirror.com/commander/2.20.3 - source-map-support: registry.npmmirror.com/source-map-support/0.5.21 - dev: true - registry.npmmirror.com/text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz} name: text-table @@ -5652,23 +9412,6 @@ packages: hasBin: true dev: true - registry.npmmirror.com/ts-loader/9.4.2_typescript@4.9.5: - resolution: {integrity: sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-loader/-/ts-loader-9.4.2.tgz} - id: registry.npmmirror.com/ts-loader/9.4.2 - name: ts-loader - version: 9.4.2 - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: '*' - webpack: ^5.0.0 - dependencies: - chalk: registry.npmmirror.com/chalk/4.1.2 - enhanced-resolve: registry.npmmirror.com/enhanced-resolve/5.12.0 - micromatch: registry.npmmirror.com/micromatch/4.0.5 - semver: registry.npmmirror.com/semver/7.3.8 - typescript: registry.npmmirror.com/typescript/4.9.5 - dev: true - registry.npmmirror.com/ts-node/10.9.1_bdgp3l2zgaopogaavxusmetvge: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-node/-/ts-node-10.9.1.tgz} id: registry.npmmirror.com/ts-node/10.9.1 @@ -5701,7 +9444,6 @@ packages: typescript: registry.npmmirror.com/typescript/4.9.5 v8-compile-cache-lib: registry.npmmirror.com/v8-compile-cache-lib/3.0.1 yn: registry.npmmirror.com/yn/3.1.1 - dev: true registry.npmmirror.com/tsconfck/2.0.2_typescript@4.9.5: resolution: {integrity: sha512-H3DWlwKpow+GpVLm/2cpmok72pwRr1YFROV3YzAmvzfGFiC1zEM/mc9b7+1XnrxuXtEbhJ7xUSIqjPFbedp7aQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tsconfck/-/tsconfck-2.0.2.tgz} @@ -5725,7 +9467,7 @@ packages: version: 4.0.0 engines: {node: '>=10.13.0'} dependencies: - chalk: registry.npmmirror.com/chalk/4.1.2 + chalk: 4.1.2 enhanced-resolve: registry.npmmirror.com/enhanced-resolve/5.12.0 tsconfig-paths: registry.npmmirror.com/tsconfig-paths/4.1.2 dev: true @@ -5806,7 +9548,7 @@ packages: engines: {node: '>= 0.6'} dependencies: media-typer: registry.npmmirror.com/media-typer/0.3.0 - mime-types: registry.npmmirror.com/mime-types/2.1.35 + mime-types: 2.1.35 registry.npmmirror.com/typedarray/0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz} @@ -5819,7 +9561,6 @@ packages: version: 4.9.5 engines: {node: '>=4.2.0'} hasBin: true - dev: true registry.npmmirror.com/uid/2.0.1: resolution: {integrity: sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uid/-/uid-2.0.1.tgz} @@ -5879,7 +9620,6 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz} name: v8-compile-cache-lib version: 3.0.1 - dev: true registry.npmmirror.com/vary/1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz} @@ -5935,17 +9675,7 @@ packages: resolve: registry.npmmirror.com/resolve/1.22.1 rollup: registry.npmmirror.com/rollup/3.15.0 optionalDependencies: - fsevents: registry.npmmirror.com/fsevents/2.3.2 - dev: true - - registry.npmmirror.com/watchpack/2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz} - name: watchpack - version: 2.4.0 - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: registry.npmmirror.com/glob-to-regexp/0.4.1 - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + fsevents: 2.3.2 dev: true registry.npmmirror.com/wcwidth/1.0.1: @@ -5968,55 +9698,6 @@ packages: engines: {node: '>=6'} dev: true - registry.npmmirror.com/webpack-sources/3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz} - name: webpack-sources - version: 3.2.3 - engines: {node: '>=10.13.0'} - dev: true - - registry.npmmirror.com/webpack/5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack/-/webpack-5.75.0.tgz} - name: webpack - version: 5.75.0 - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': registry.npmmirror.com/@types/eslint-scope/3.7.4 - '@types/estree': registry.npmmirror.com/@types/estree/0.0.51 - '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.11.1 - '@webassemblyjs/wasm-edit': registry.npmmirror.com/@webassemblyjs/wasm-edit/1.11.1 - '@webassemblyjs/wasm-parser': registry.npmmirror.com/@webassemblyjs/wasm-parser/1.11.1 - acorn: registry.npmmirror.com/acorn/8.8.2 - acorn-import-assertions: registry.npmmirror.com/acorn-import-assertions/1.8.0_acorn@8.8.2 - browserslist: registry.npmmirror.com/browserslist/4.21.5 - chrome-trace-event: registry.npmmirror.com/chrome-trace-event/1.0.3 - enhanced-resolve: registry.npmmirror.com/enhanced-resolve/5.12.0 - es-module-lexer: registry.npmmirror.com/es-module-lexer/0.9.3 - eslint-scope: registry.npmmirror.com/eslint-scope/5.1.1 - events: registry.npmmirror.com/events/3.3.0 - glob-to-regexp: registry.npmmirror.com/glob-to-regexp/0.4.1 - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 - json-parse-even-better-errors: registry.npmmirror.com/json-parse-even-better-errors/2.3.1 - loader-runner: registry.npmmirror.com/loader-runner/4.3.0 - mime-types: registry.npmmirror.com/mime-types/2.1.35 - neo-async: registry.npmmirror.com/neo-async/2.6.2 - schema-utils: registry.npmmirror.com/schema-utils/3.1.1 - tapable: registry.npmmirror.com/tapable/2.2.1 - terser-webpack-plugin: registry.npmmirror.com/terser-webpack-plugin/5.3.6_webpack@5.75.0 - watchpack: registry.npmmirror.com/watchpack/2.4.0 - webpack-sources: registry.npmmirror.com/webpack-sources/3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - registry.npmmirror.com/whatwg-url/5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz} name: whatwg-url @@ -6057,7 +9738,7 @@ packages: version: 7.0.0 engines: {node: '>=10'} dependencies: - ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + ansi-styles: 4.3.0 string-width: registry.npmmirror.com/string-width/4.2.3 strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 dev: true @@ -6105,7 +9786,6 @@ packages: name: yn version: 3.1.1 engines: {node: '>=6'} - dev: true registry.npmmirror.com/yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz}